PhpSpreadsheet 导出数据,如何设置单元格格式

使用 phpspreadsheet 进行excel 导出,导出的内容含有特殊字符串,例如“=+B&^S” ,需要将单元格格式设置为文本格式进行存储,应该怎么设置单元格格式

相关代码

 $spreadW = new Spreadsheet();
 $spreadW->getActiveSheet()->getCell('H2')
            ->setValueExplicit(
                '25',
                \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_INLINE
            );
 $spreadW->getDefaultStyle()
         ->getAlignment()
         ->setVertical(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);
 $spreadW->getDefaultStyle()->getAlignment()->setWrapText(true);### 问题描述

不处理的话导出excel会因为格式错误导入失败,报错如下

clipboard.png
如上述设置的代码,但还是报上边的错,麻烦问一下怎么设置单元格格式

阅读 10.1k
1 个回答

用这个属性

PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT

示例代码

 $spreadsheet->getActiveSheet()->getStyle('B2')->getNumberFormat()->applyFromArray(
      [
          'formatCode' => NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE
      ]
  );

试试呢
或者在文本末尾加个 斜杠 + t 试试呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题