Excel PHPSReadSheet生成带有图表的无效文件

Excel PHPSReadSheet生成带有图表的无效文件,excel,php-7,phpspreadsheet,Excel,Php 7,Phpspreadsheet,我正在将现有/工作应用程序从PHPExcel(phpooffice/PHPExcel:1.8.0)迁移到phpsreadsheet,生成包含一个或多个图表的Excel文件时遇到问题 如果没有任何addChart调用,生成的文件是有效的,但一旦添加了图表,生成的文件就会变得无效。Excel确实尝试恢复数据,但没有图表 Excel恢复工具显示: Excel completed file level validation and repair. Some parts of this workbook

我正在将现有/工作应用程序从
PHPExcel
phpooffice/PHPExcel:1.8.0
)迁移到
phpsreadsheet
,生成包含一个或多个图表的Excel文件时遇到问题

如果没有任何
addChart
调用,生成的文件是有效的,但一旦添加了图表,生成的文件就会变得无效。Excel确实尝试恢复数据,但没有图表

Excel恢复工具显示:

Excel completed file level validation and repair. 
Some parts of this workbook may have been repaired or discarded.
Removed Part: /xl/drawings/drawing1.xml part.  (Drawing shape)
当前使用:PHP7.1和
phpoffice/phpsreadsheet:“1.10.1”

我的代码与我试图添加的PieChart示例非常相似

生成PieChart的部分代码:

  • $ageCounterRowIndex
    的值为6
  • $expectedPointCount
    的值为4
  • 我的数据刻度值位于
    D3:D6
  • 我的值位于
    E3:E6

将新图表调用中的
displaybanksas
参数从
0
更改为
'gap'
为我解决了这个问题

我在网上找到了关于它的错误报告

变成

$chart = new Chart(
    'piechart_' . ($sheetIndex - 1), 
    null,
    $legend, 
    $plotArea, 
    true, 
    'gap', 
    NULL, 
    NULL 
);

嗯。。。绝对值得一试。。。谢谢:)
$chart = new Chart(
    'piechart_' . ($sheetIndex - 1), 
    null,
    $legend, 
    $plotArea, 
    true, 
    0, 
    NULL, 
    NULL 
);
$chart = new Chart(
    'piechart_' . ($sheetIndex - 1), 
    null,
    $legend, 
    $plotArea, 
    true, 
    'gap', 
    NULL, 
    NULL 
);