PHPExcel创建文件的二进制格式,而不是xml


PHPExcel creating file in binary format instead of xml

我正在使用PHPExcel生成一个Excel文件。问题是,它不是以XML格式生成文件,而是以二进制格式生成文件。

$phpExcel = new PHPExcel();
$phpExcel->getProperties()->setTitle($worksheet_title);
$phpExcel->setActiveSheetIndex(0);
$worksheet = $phpExcel->getActiveSheet();
$worksheet->setCellValue('A1', 'Field');
// ...
$phpExcelWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel2007');
$phpExcelWriter->save('tmp/xxx');

由于我使用的是Excel2007作家,它应该在可读的xml格式中创建输出文件,但它是以二进制格式创建的,而不是

OfficeOpenXML文件是不是直接人类可读的一个巨大的xml文件。它是一个包含XML文件集合的压缩归档文件。

解压缩.xlsx文件,然后您将发现一系列包含xml文件的文件夹。

这是MS Excel在保存文件为xlsx时生成的,也是PHPExcel生成的

有关OfficeOpenXML标准的详细信息,请查看此链接