【问题标题】:PHPExcel Error on Charts Using Named Ranges使用命名范围的图表上的 PHPExcel 错误
【发布时间】:2013-01-04 13:56:00
【问题描述】:

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

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

使用 PHPExcel,我可以读取工作表,在 Sheet2 中编辑数据并写回 Excel 2007。但是,使用上面提到的设置,其中图表使用命名范围,PHPExcel 在读取 Excel 时会抛出错误Invalid cell coordinate CHARTDATA,具有进一步看,似乎 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

【问题讨论】:

  • 是否可以使用常规范围而不是命名范围?我没有在 PHP 中工作过。该错误试图将字符串地址转换为范围,我认为它不支持命名范围。
  • 在 Excel 2007 中为图表设置常规范围会导致图表显示没有数据的行的标签(例如 A:A)
  • 在这种情况下,不能将范围限制为有数据的行而不是 A:A 吗?
  • 不知道如何在 Excel 2007 中在不使用定义范围的情况下执行此操作,不接受设置图表时使用 OFFSET

标签: php phpexcel


【解决方案1】:

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

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

希望有帮助!

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2015-05-21
    • 2017-08-09
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    相关资源
    最近更新 更多