PHPExcel 创建一个新文件
PHPExcel create a new file
我正在尝试使用 PHPExcel 库和以下代码创建一个新的 Excel 文件:
include ('/lib/PHPExcel/PHPExcel/IOFactory.php');
include ('/lib/PHPExcel/PHPExcel.php');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("admin")
->setLastModifiedBy("admin")
->setTitle("Test")
->setSubject("template file")
->setDescription("template file")
->setKeywords("Prout");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(dirname(__FILE__).'/file/test.xlsx');
文件已创建,但当我尝试打开它时,我的 excel 2010 告诉我文件中有不可读的内容,我无法打开它。
我在不同的论坛上尝试了不同的方法,但我总是得到相同的结果。我通过使用 Ajax 和 jquery 来进行此操作。这可能是导致此错误的原因吗?
我找到了解决问题的方法...但只解决了一半。因为它适用于此代码:
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Temporaris")
->setLastModifiedBy("Temporaris")
->setTitle("Template Relevé des heures intérimaires")
->setSubject("Template excel")
->setDescription("Template excel permettant la création d'un ou plusieurs relevés d'heures")
->setKeywords("Template excel");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', "12");
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="excel.xls"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
但它是 Excel5 而不是 Excel2007,当我将 Excel5 替换为 Excel2007 时,出现相同的错误消息。
你试过了吗?
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
我正在尝试使用 PHPExcel 库和以下代码创建一个新的 Excel 文件:
include ('/lib/PHPExcel/PHPExcel/IOFactory.php');
include ('/lib/PHPExcel/PHPExcel.php');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("admin")
->setLastModifiedBy("admin")
->setTitle("Test")
->setSubject("template file")
->setDescription("template file")
->setKeywords("Prout");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->setTitle('Simple');
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(dirname(__FILE__).'/file/test.xlsx');
文件已创建,但当我尝试打开它时,我的 excel 2010 告诉我文件中有不可读的内容,我无法打开它。
我在不同的论坛上尝试了不同的方法,但我总是得到相同的结果。我通过使用 Ajax 和 jquery 来进行此操作。这可能是导致此错误的原因吗?
我找到了解决问题的方法...但只解决了一半。因为它适用于此代码:
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Temporaris")
->setLastModifiedBy("Temporaris")
->setTitle("Template Relevé des heures intérimaires")
->setSubject("Template excel")
->setDescription("Template excel permettant la création d'un ou plusieurs relevés d'heures")
->setKeywords("Template excel");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', "12");
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="excel.xls"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
但它是 Excel5 而不是 Excel2007,当我将 Excel5 替换为 Excel2007 时,出现相同的错误消息。
你试过了吗?
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);