EPPlus and graphics

本文关键字:graphics and EPPlus | 更新日期: 2023-09-27 18:17:12

我在。net 4.0命令行应用程序上使用EPPlus库创建电子表格。

我成功地从数据库中加载了所有的数据,最后我创建了一个图形,这是我的代码:

var chart = sheet.Drawings.AddChart("Revenue", OfficeOpenXml.Drawing.Chart.eChartType.ColumnClustered);
chart.SetPosition(2, 0, 4, 0);
chart.SetSize(650, 400);
chart.Series.Add(ExcelRange.GetAddress(3, 2, 14, 2),ExcelRange.GetAddress(3, 1, 14, 1));
chart.Title.Text = "Revenue";

我在MS Office 2010中打开生成的文件,一切看起来都很好,数据,图形等。但是如果我在OpenOffice 3.3中打开相同的生成文件,图形是空的。

奇怪的是,如果我在Office 2010中打开文件并复制(另存为)…我在OpenOffice中打开副本,图像很好……所以我想知道我是否在我的代码中遗漏了一些东西,使其与Office2010和OpenOffice兼容

谢谢你的帮助!

EPPlus and graphics

当EPPlus创建图表时,它似乎只存储数据系列的单元格引用。它并不实际存储每个数据点的值。

Microsoft Excel将重新计算每个数据点的值(我相信),可能忽略电子表格文件中的任何数据点缓存。

OpenOffice/LibreOffice似乎只读取图表部分中缓存的数据点值。这就是为什么图表没有出现在OpenOffice中,因为没有通过EPPlus写入的数据点值。