0

我必须替换用户提交的 xlsx 文件中的变量,并这样做:

  1. 将 .xlsx 重命名为 .zip
  2. 解压到临时文件夹
  3. 进行必要的更改
  4. 压缩文件
  5. 将 .zip 重命名为 .xslx

我在 PHP 中使用普通的 ZipArchive。当我尝试在 Excel 中打开生成的 .xlsx 时,它会失败并显示一条消息format or extension invalid。当我使用 WinRAR(作为 zip)压缩临时文件并将生成的文件重命名为 .xlsx 时,它可以工作。使用这两种方法生成的 zip 文件包含相同的数据结构和文件,但 WinRAR 文件稍大(10.2K 与正常压缩的 10.3K)。

在查看文件的乱码时,我可以看到文件以不同的顺序出现,但不知道是不是这个原因。任何线索将不胜感激。

4

1 回答 1

0

我让它与另一个组件 PclZip (phpconcept.net/pclzip) 一起工作。这是一个显然使用 gzip 的类,并且在 Excel 2007 中将其输出重命名为 .xlsx 很好。

于 2014-01-12T04:35:36.480 回答