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 –