2013-06-06 5 views
1

Я создаю электронную таблицу с библиотекой EPPlus в приложении командной строки .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, графика хороша ... так что мне интересно, m не хватает чего-то в моем коде, чтобы сделать его совместимым как с Office2010, так и с OpenOffice

Спасибо за помощь!

ответ

2

Похоже, что когда EPPlus создает диаграмму, он хранит только ссылки на ячейки для серии данных. Он фактически не сохраняет значение каждой точки данных.

Microsoft Excel пересчитает значение каждой точки данных (я считаю), возможно, игнорируя любой кеш точек данных в файле электронной таблицы.

OpenOffice/LibreOffice, по-видимому, считывает только данные кэшированных данных в разделе диаграммы. Вот почему диаграмма не отображается в OpenOffice, потому что нет значений точки данных, написанных через EPPlus.

Смежные вопросы