You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导出Excel xlsx文件报错:无法加载DOM文档,含0-600°C数据如何解决?

解决方案

方法1:转义特殊字符为HTML实体

在导出前把数据中的°替换成对应的HTML实体°,让DOM解析能正确识别:

// 导出类的map方法中处理字段
public function map($item): array
{
    return [
        str_replace('°', '°', $item->product_name),
        // 其他字段...
    ];
}

或者直接在查询数据时处理:

SELECT REPLACE(product_name, '°', '°') AS product_name FROM your_table;

方法2:设置单元格为纯文本格式

强制导出时把包含特殊字符的单元格设为纯文本,跳过HTML解析逻辑:

use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;

class YourExportClass implements WithEvents
{
    public function registerEvents(): array
    {
        return [
            AfterSheet::class => function(AfterSheet $event) {
                // 覆盖数据所在的单元格范围,比如A2:Z1000
                $event->sheet->getDelegate()->getStyle('A2:Z1000')
                    ->getNumberFormat()
                    ->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);
            },
        ];
    }
}

方法3:检查数据库字符集

确保存储数据的表使用utf8mb4字符集,避免特殊字符存储异常:

ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

内容的提问来源于stack exchange,提问作者khush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:40:55