相关疑难解决方法(0)

PHPExcel创建"不可读的内容"

我试图用1000种不同的方法解决这个问题.感谢是否有其他人可以发现问题.

我有使用PHPExcel的代码生成多个Excel工作表并将其保存到磁盘.

当使用MS Excel 2010打开第二个文件中的所有内容时,我收到错误"Excel在FILENAME中找到了不可读的内容.是否要恢复此工作簿的内容." 该文件已"恢复"并且工作正常.在OPEN Office开业不会产生任何错误.

这是代码的简化版本.

<?php
$filenames = array("filenames go here");

$sheet1 = PHPExcel_IOFactory::load($template1);
$writer1 = new PHPExcel_Writer_Excel2007($sheet1);
$writer1->save('somefilename.xlsx');
//This file opens without problem
$sheet1->disconnectWorksheets();
unset($sheet1);
unset($writer1);

$i = 0;
foreach($filenames as $file){
    $template = "template2.xlsx";
    $fileName = 'filename' . $i . ' .xlsx';
    $spreadsheet = PHPExcel_IOFactory::load($template);
    $objWriter = new PHPExcel_Writer_Excel2007($spreadsheet);
    $objWriter->save($fileName);
    $spreadsheet->disconnectWorksheets();
    unset($spreadsheet);
    //This file throws error when opened in Excel 2007+
    $i++;
 }
?>
Run Code Online (Sandbox Code Playgroud)

我检查过以下内容:

  1. 没有明显的php错误消息,空白或无关输入会破坏文件.
  2. 模板文件在Excel 2010中打开正常.
  3. 我尝试过使用不同的PHPExcel编写器方法,但它们都会产生同样的问题.

真正的代码完成了一大堆额外的东西,但我已经通过评论它来检查它是不负责任的.上面的代码似乎是唯一可以引入问题的地方.

任何建议都感激不尽.

==== EDITED ====这是Ex​​cel生成的错误日志:

<?xml …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

1
推荐指数
1
解决办法
8632
查看次数

标签 统计

php ×1

phpexcel ×1