使用PHPExcel 1.7.8我有一个2007 xlsx Excel文件,包含Sheet1上的饼图和Sheet2中的两列简单数据。
Workbook具有为Sheet2中的两个列定义的命名范围,一个用于标签,另一个用于数据。 Sheet1中的饼图然后引用这些命名范围,这意味着它将在Sheet2中添加/删除数据时自动更新。
使用PHPExcel我可以读取工作表,编辑Sheet2中的数据并写回Excel 2007.但是,使用上面提到的设置,图表使用命名范围,PHPExcel在读取Excel时抛出错误Invalid cell coordinate CHARTDATA
看起来更进一步看来,PHPExcel似乎没有读取任何已经存在的命名范围,但却失去了它们,尽管这些可以通过代码再次定义 - 错误仍然存在。
至关重要的是,我正在使用PHPExcel加载一个包含图形的spreadhseet,编辑底层数据 - 添加或删除行,然后回写到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
答案 0 :(得分:0)
我也有这个问题。打开Excel的名称管理器,确保命名范围不是#REF!
或以其他方式破坏。
另外,请确保您没有从其他工作表中引用指定的单元格。这也将破坏PHPexcel ..
希望有所帮助!(确保您使用的是最新版本)