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写入的数据点值。