Aspose word for Java 替换图表数据

对docx文档里的chart图表里的数据通过 seriesCollection.clear(); seriesCollection.add(); 进行替换, 处理完后的文档 用office word 打开,里面的图表点击编辑数据,无法弹出内嵌的excel ;是兼容性问题吗? 有办法处理吗?

@wang_hao

在使用 Aspose.Words for Java 替换文档中的图表数据时,如果您通过 seriesCollection.clear()seriesCollection.add() 方法替换数据后,发现无法在 Office Word 中编辑图表数据,这可能是由于兼容性问题导致的。

为了解决这个问题,您可以尝试以下步骤:

  1. 确保使用正确的格式保存文档:在保存文档时,确保使用支持图表编辑的格式,例如 DOCX。

    Document doc = new Document("input.docx");
    // 替换图表数据的代码
    doc.save("output.docx", SaveFormat.DOCX);
    
  2. 检查图表数据的完整性:确保在替换数据时,所有必需的系列和数据点都被正确添加,并且数据格式符合 Excel 的要求。

  3. 使用最新版本的 Aspose.Words:确保您使用的是最新版本的 Aspose.Words,因为新版本可能修复了与图表相关的已知问题。

  4. 测试在不同的环境中打开文档:尝试在不同版本的 Office Word 中打开文档,以确认问题是否与特定版本的 Office 相关。

如果以上步骤仍然无法解决问题,请提供更多的代码示例和具体的错误信息,以便我们进行进一步分析。请确保您按照这些建议进行操作,以便有效解决问题。如果您还有其他问题,请随时告诉我!

ChartSeriesCollection seriesCollection = chart.getSeries();
seriesCollection.clear();
for (int i = 0; i < seriesTitleLength; i++) {
ArrayList seriesValueList = seriesMap.get(seriesTitleArr[i]);
double[] seriesValueListDoubleArray = seriesValueList.stream()
.mapToDouble(bd → bd != null ? bd.doubleValue() : 0)
.toArray();
seriesCollection.add(seriesTitleArr[i],categoryArr,seriesValueListDoubleArray);
}
// 保存修改后的文档
doc.save(tempFile.getAbsolutePath(),SaveFormat.DOCX);

我的主要代码逻辑如上;无法在 Office Word 中编辑图表数据 有办法可以解决吗

@wang_hao 看来问题与 MS Word 未完全安装或您未安装 Excel 有关。请检查一下,如果问题仍然存在,请提供带有图表的输出文件。

在多台电脑上尝试用Word 打开 编辑数据都不行,确认已安装excel ;用wps打开也提示 链接文件不可用。输出文件是这样的
可编辑折线图123.docx (31.4 KB)

另外我发现,用Word 并非完全不能操作;偶现的一种情况是 用wor打开文档 ,选择图表并点击编辑数据,会出现弹框提示 链接的文件不可用

;但是关闭弹框后 再次点编辑数据,可以正常打开excel 并进行数据编辑等操作

@wang_hao 看起来像是 MS Word 的错误。这种情况是经常发生还是偶尔发生?MS Word 写道,您可以尝试在安全模式下使用运行框中的 winword /safe 命令打开 MS Word,然后检查问题是否仍然存在。如果没有,您可以尝试禁用 MS Word 中的加载项,然后检查会发生什么情况。

这是我的编辑数据窗口和 MS Word 版本: