【发布时间】:2020-08-05 09:31:46
【问题描述】:
我正在为我的一个项目使用 PHP_XLSXWriter,但遇到了一个我似乎无法解决的问题;混合格式。
我需要从我的数据库表中生成一个 Excel 文件,以及一个全是文本的标题行。标题行后面的数据格式为“整数”、“数字”、“文本”。 我已经有一个完美运行的脚本,可以从数据库中提取信息,然后将其写入 XLSX 文件,然后再将文件发送到用户的浏览器。该文件的顶部是以下内容:
$header = array("string","string","string");
$writer->writeSheetHeader($sheet_name, $header, $col_options = ['widths'=>[20,20,50], 'suppress_row'=>true] );
这一切都完美无缺,我的文件在 Excel 中打开。但是,所有我的数据都是 Excel 的“文本”格式;标题行和数据行。 这显然是因为我声明将三列格式化为“字符串”,但如果我将该行更改为:
$header = array("integer","#0.00","string");
$writer->writeSheetHeader($sheet_name, $header, $col_options = ['widths'=>[20,20,50], 'suppress_row'=>true] );
然后,最终的 Excel 在打开文件时提醒用户注意文件中的问题,并提供修复文件。这行得通,标题全是文本,数据全是正确的格式,但从用户的角度来看,它是混乱和不专业的。
很明显,这个问题的出现是因为标题行不包含整数或数字,我试图强制格式化整个列,但是如何解决这个问题? 我花了很长时间搜索帮助文件和在线论坛,但找不到任何清楚地告诉我如何在 PHP_XLSXWriter 中混合格式的内容。
有其他人设法解决这个问题吗?如果有,如何解决?
【问题讨论】:
标签: excel phpxlsxwriter