在C#中访问Excel图形

时间:2012-05-31 08:15:38

标签: c# excel graph charts

我有一张图表(x y图表),在excel文件中有几条曲线 如何在c#应用程序中访问此图并从图中提取值?

作为示例,给定曲线1和excel图上的x值,我想使用c #windows应用程序在相应的曲线上获得y值。 这有可能吗?

2 个答案:

答案 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 ..