我试图将phpexcel与我自己的模板文件一起使用.phpexcel加载文件并将数据写入某些单元格A2,A3,A4,然后打开包含新数据的输出文件.
我的模板文件内置了图表..我想要phpexcel做的就是填充单元格中的值而不要触摸图表.并且,打开新文件.(请注意,我不想在代码中创建图表.我希望图表在我的模板中以与我最初创建的格式相同的格式预先存在).只有数据才能更新.
但是,当我尝试这样做时...图表本身会从生成的文件中丢失.尝试各种方式后..仍然失败.
并且,我从http://phpexcel.codeplex.com/discussions/397263找到了以下代码
require_once 'Classes/PHPExcel.php';
/** PHPExcel_IOFactory */
include 'Classes/PHPExcel/IOFactory.php';
$target ='Results/';
$fileType = 'Excel2007';
$InputFileName = $target.'Result.xlsx';
$OutputFileName = $target . '_Result.xlsx';
//Read the file (including chart template)
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objReader->setIncludeCharts(TRUE);
$objPHPExcel = $objReader->load($InputFileName);
//Change the file
$objPHPExcel->setActiveSheetIndex(0)
// Add data
->setCellValue('C3','10' )
->setCellValue('C4','20' )
->setCellValue('C5','30')
->setCellValue('C5','40' );
//Write the file (including chart)
PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);
$objWriter->setIncludeCharts(TRUE);
$objWriter->save($OutputFileName);
Run Code Online (Sandbox Code Playgroud)
上面的代码在excel 2010中工作,现在让我的图表保持正常......但是当我尝试使用文件类型"Excel5"时它仍然不起作用.
它会引发以下错误:
Fatal error: Call to undefined method PHPExcel_Reader_Excel5::setIncludeCharts()
in D:\IT\bfstools\PHPExcel\MyExamples\test1.php …Run Code Online (Sandbox Code Playgroud)