0
我需要打开一个现有的xlsx文件,其中包含文本框(使用预定义选项(如圆圈,正方形等)创建的文件),并且需要在这些对象后面写入(它们是透明的)。PHPExcel丢失文本框
下面的代码可以做到一切正常,除非下载没有框的新文件。
if(file_exists("app/file.xlsx")){
$objTpl = PHPExcel_IOFactory::load("app/file.xlsx");
$objTpl->setActiveSheetIndex(1);
$objTpl->getActiveSheet()->setCellValue('A1', 'x');
$objTpl->getActiveSheet()->setCellValue('A2', 'y');
$objTpl->getActiveSheet()->setCellValue('A3', 'z');
$filename = 'new_file.xlsx';
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objTpl, 'Excel2007');
ob_end_clean();
$ret = $objWriter->save('php://output');
exit;
}
然后,您需要为PHPExcel Excel2007读取器编写一些代码来解析和解释它们,用于维护它们的核心PHPExcel对象以及PHPExcel Excel2007 Writer来编写它们;因为他们不支持图书馆 –
真的吗?那么..让我们尝试另一种策略。谢谢! –
真的!您可能会看到COM(需要安装MS Excel的Windows服务器)或PUNO(需要安装Open/LibreOffice的服务器)或libXl –