我有一张图表(x y图表),在excel文件中有几条曲线 如何在c#应用程序中访问此图并从图中提取值?
作为示例,给定曲线1和excel图上的x值,我想使用c #windows应用程序在相应的曲线上获得y值。 这有可能吗?
答案 0 :(得分:0)
你可以使用EPPlus获得图表系列的excel范围,然后从你获得图表数据的范围获得,如下所示:
private List<double> ExtractChartValues(FileInfo excelFile, string sheetName, int drawing, int chartSerie)
{
ExcelPackage ePack = new ExcelPackage(excelFile);
ExcelWorksheet ws = ePack.Workbook.Worksheets[sheetName];
List<double> result = new List<double>();
ExcelChart ec = (ExcelChart)ws.Drawings[drawing];
ExcelRange dataRange = ws.Cells[ec.Series[chartSerie].Series];
foreach (ExcelRangeBase data in dataRange)
{
if (data.Value != null)
result.Add((double)data.Value);
}
return result;
}
答案 1 :(得分:0)
你必须创建一个宏 - 与图形通信,然后创建你的csharp应用程序与宏通信---你必须使用excel的互操作lib ..