1

使用 PHPExcel 1.7.8 我有一个 2007 xlsx Excel 文件,由 Sheet1 上的饼图和 Sheet2 中的两列简单数据组成。

工作簿为 Sheet2 中的两列定义了一个命名范围,一个用于标签,另一个用于数据。Sheet1 中的饼图然后引用这些命名范围,这意味着它将随着数据从 Sheet2 添加/删除而自动更新。

使用 PHPExcel,我可以读取工作表,在 Sheet2 中编辑数据并写回 Excel 2007。但是,使用上面提到的设置,其中图表使用命名范围,PHPExcelInvalid cell coordinate CHARTDATA在读取 Excel 时会引发错误,进一步看似乎 PHPExcel 没有读取任何预先存在的命名范围但丢失它们,尽管这些可以通过代码再次定义 - 错误仍然存​​在。

至关重要的是,我使用 PHPExcel 加载其中包含图表的电子表格,编辑基础数据 - 添加或删除行,然后写回 Excel 并相应地更新图表。

非常感谢您的帮助!

完整错误如下:

Fatal error: Uncaught exception 'PHPExcel_Exception' with message 'Invalid cell coordinate CHARTDATA' in /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Cell.php:539
Stack trace:
#0 /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Cell.php(674): PHPExcel_Cell::coordinateFromString('CHARTDATA')
#1 /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Cell.php(693): PHPExcel_Cell::rangeBoundaries('ChartData')
#2 /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Chart/DataSeriesValues.php(298): PHPExcel_Cell::rangeDimension('ChartData')
#3 /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Chart/DataSeries.php(350): PHPExcel_Chart_DataSeriesValues->refresh(Object(PHPExcel_Worksheet), false)
#4 /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Chart/PlotArea.php(121): PHPExcel_Chart_DataSeries->refresh(Object(PHPExcel_Worksheet))
#5 /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Chart.php(499): PHPExcel_Chart_PlotArea->refresh(Object(PHPExcel_Worksheet))
#6 /home/conten in /home/content/34/6122134/html/core.excel/Classes/PHPExcel/Cell.php on line 539
4

1 回答 1

0

我也有这个问题。打开 Excel 的名称管理器并确保命名的范围没有#REF!或以其他方式损坏。

此外,请确保您没有从另一张工作表中引用命名单元格。那也会破坏PHPexcel ..

希望有帮助!

(确保您使用的是最新版本)

于 2017-03-08T22:52:35.940 回答