【问题标题】:Accessing Excel Graphs in C#在 C# 中访问 Excel 图表
【发布时间】:2012-05-31 08:15:37
【问题描述】:

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

例如,给定曲线 1 和 Excel 图表上的 x 值,我想使用 c# windows 应用程序获取相应曲线上的 y 值。 这可能吗?

【问题讨论】:

  • 图表只能存在(据我所知)有数据。您不能直接访问系列数据吗?或者你正在尝试做其他事情?对于未描述的问题,您选择的答案似乎有问题 - 也许有更好的解决方案。也许对这个问题有一点背景会有所帮助。

标签: c# excel graph charts


【解决方案1】:

您可以使用 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;
}

【讨论】:

    【解决方案2】:

    您必须创建一个宏 --- 与图形通信,然后创建您的 csharp 应用程序以与宏通信 --- 您必须使用 excel 的互操作库 ..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      相关资源
      最近更新 更多