EPPlus和graphics

我正在用.NET 4.0命令行应用程序创build一个带有EPPlus库的电子表格。

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

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中生成的文件,一切都很好,数据graphics等。但如果我在OpenOffice 3.3中打开相同的生成文件,graphics是空的。

奇怪的是,如果我在Office 2010中打开文件并复制(另存为),并在OpenOffice中打开副本,graphics是好的…所以我想知道如果我错过了什么我的代码使其兼容Office2010和OpenOffice

谢谢您的帮助!

看来EPPlus创build图表时,它只存储数据系列的单元格引用。 它实际上并不存储每个数据点的值。

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

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