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

时间:2014-08-11 12:44:19

标签: php phpexcel

我正在使用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格式创建输出文件,但它是以二进制格式创建的。

1 个答案:

答案 0 :(得分:1)

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

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

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

您可以查看此链接,了解OfficeOpenXML standard

的完整详情