我正在将Oracle服务云数据库中的报告导出到Excel。一切都按预期工作,但当有一个子弹点时,它显示为一个奇怪的角色。 填写报告的过程是通过插入数据库的表单完成,然后使用PHPExcel和Excel5.php类将此报告导出到Excel。 当我使用HTML.php类时,我看到了没有问题的项目符号,但后来我丢失了一些Excel格式。 以下是我的代码
header('Content-Type: application/xls');
header('Content-Disposition: attachment;filename="' . $fileName . '.xls"');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
我研究了这个问题并提出了一些建议,要求将所有数据类型设为字符串,但不做任何更改。 $ objPHPExcel-> getActiveSheet() - > setCellValueExplicit('A1','0987',PHPExcel_Cell_DataType :: TYPE_STRING);
使用UTF-8仍然没有改变任何东西。
你能帮忙吗?
答案 0 :(得分:0)
所以我想分享我的解决方案。 我仍然无法导出子弹点,但我能够将它们转换为另一个角色。
$colValue = htmlentities($colValue);
$colValue = html_entity_decode($colValue,ENT_QUOTES,'UTF-8');
$colValue = str_replace("•",":-","$colValue");