这些天我正在玩 PHP - MS Excel 集成。我的任务是打开一个现有的电子表格,添加一些数据并将填充的电子表格保存为一个新文件。基本上是一种模板填充引擎,尽管 xlsx 文件被用作模板。
我研究了PHPExcel,这似乎是一个相当不错的框架。为了实现概念证明,我做了以下事情(减少到说明我需要做什么的最低要求):
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("myTemplateToFill.xlsx");
//Here comes the actual filling
$objWorksheet = $objPHPExcel->createSheet();
$objWorksheet->setTitle('Apple') ;
$objWorksheet->setCellValue('A1', 'Banana');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('myFilledTemplate.xlsx');
运行这个我发现创建了一个新文件,我的 daat 被插入,但遗憾的是所有现有格式都丢失了。
所以问题是,有没有办法让 PHPExcel 将这些格式保留在新文件中?或者更进一步:是否可以将图表等保存在模板文件中并按照我尝试的方式填写?
提前感谢您分享的所有经验!
ķ