【发布时间】:2016-03-23 20:31:34
【问题描述】:
我有一个 Excel 模板,需要在 php 脚本中填写。表格的标题用不同的颜色突出显示:
在 php 脚本中我打开模板,添加一些数据并保存文件:
//Template from VitalSource
$template = APPLICATION_PATH.'/../public/VitalSourceTemplate.xlsx';
// Read the file
$fileType = PHPExcel_IOFactory::identify($template);
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objPHPExcel = $objReader->load($template);
$objPHPExcel->setActiveSheetIndex(0);
$row = 4;
/*
Add new rows to the Excel file
*/
// Write the file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);
$objWriter->save('testVS.xlsx');
数据在这里,唯一的问题是标题颜色正在改变:
可能是什么问题?如何保留原来的单元格样式?
更新
这是模板文件的 Dropbox 链接 - dropbox
UPD 2
当我将模板文件从 xlsx 转换为 xls 时,一切都按预期工作。
这里是 xlsx 模板的链接 - link
这里是 xls 模板的链接 - link
PHPExcel 处理 xlsx 和 xls 颜色的方式不同吗?另一方面,我在 Mac 上使用 Numbers 打开 Excel 文件并将它们转换为 xlsx 和 xls - Numbers 可能存在一些错误。感谢任何帮助和信息。
【问题讨论】:
-
无法访问原始文件,无法确定答案;但是模板是否使用自定义颜色集或主题?
-
@MarkBaker 感谢您的回复。我添加了指向模板文件的链接。我不确定如何检查颜色集是否是自定义的?
-
@MarkBaker 我已经检查过 - 模板使用标准 Excel 56 托盘中的颜色。但由于某种原因,颜色 #42 变成了颜色 #3。