2013-06-26 39 views
0

我有一個帶有圖表的Excel文件。如何使用Open XML SDK獲取特定圖表的圖表類型?

我能夠使用Open XML SDK提供的chartPart屬性來引用圖表。

如何從中獲取圖表類型(bar,pie,line等)?

P.S.我已經查看了這個chartPart變量的結構,但我一直無法弄清楚究竟在哪裏找到類型,軸,顏色等信息。

回答

0

您可以使用反射概念獲得圖表類型

private IEnumerable<Type> GetExcelChartTypes() 
     { 
      IEnumerable<Type> items = new List<Type>(); 
      try 
      { 
       DocumentFormat.OpenXml.Drawing.Charts.LineChart linechart = new DocumentFormat.OpenXml.Drawing.Charts.LineChart(); 
       items = Assembly.GetAssembly(linechart.GetType()).GetTypes().Where(S => S.Name.EndsWith("Chart")); 
      } 
      catch 
      { 

      } 
      return items; 
     } 

這樣讓所有的圖表部分與

IEnumerable的chartparts = spreadsheet.DrawingsPart.ChartParts前;

然後得到圖表對象與下面線

IEnumerable的 圖表= chartpart.ChartSpace.ChildElements.OfType(); 。

每個圖表對象都有繪圖區域對象獲取該對象並獲取具有GetType()的對象類型。

那麼當然你會得到圖表的名稱。

相關問題