PHPExcel保存错误 - 单元格坐标字符串不能是一系列单元格

时间:2017-12-06 18:22:19

标签: php phpexcel

我目前正在尝试保存加载PHPExcel的excel文件。模板文件有多个工作表引用公式中的其他工作表。模板正在从我的本地Apache服务器加载。加载文件后,我尝试保存它,它会引发异常“单元格坐标字符串不能是一系列单元格”。使用HTML编写器可以完美显示。

这是我的代码:

require_once "assets/vendors/PHPExcel/PHPExcel.php";
require_once 'assets/vendors/PHPExcel/PHPExcel/IOFactory.php';
$tmpfname = 'template_files/templateFile.xlsx';

$objReader = PHPExcel_IOFactory::createReaderForFile($tmpfname);
$objPHPExcel = $objReader->load($tmpfname);

try {
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    header('Content-Disposition: attachment;filename="myfile.xlsx"');
    header('Cache-Control: max-age=0');
    $objWriter->save('php://output');  

} catch (Exception $e) {
        echo 'Caught exception: ',  $e->getMessage(), "\n";
}

我希望我的模板表可以像往常一样在PHPExcel中下载,但无法解决这个问题。有没有其他人碰到类似的东西?

下载的文档完全空白,打印异常“捕获异常:单元格坐标字符串不能是一系列单元格”。

2 个答案:

答案 0 :(得分:2)

对于将来遇到此例外的任何人:

从文档中删除格式并尝试使用PHPExcel保存。 我不确定确切的来源,但删除后我使用Google表格复制了格式,并且编写者输出完全正常。

答案 1 :(得分:0)

PHP输出中有什么?

你的某些地方有糟糕的数据。在三种情况下抛出此异常:

  1. 尝试查找absoluteCoordinate时会传递一个包含“:”或“,”
  2. 的字符串

    OR

    1. 尝试查找absoluteReference会传递一个包含“:”或“,”
    2. 的字符串

      OR

      1. 在字符串变量中使用“:”或“,”调用coordinateFromString。
      2. 我会寻找一个流浪逗号或全冒号,它不应该在PHP输出中或模板文件中的单元格中...

相关问题