2015-11-04 73 views
0

我必須從圖表中找到以下信息。 圖圖表ChartName在它 enter image description here如何從幻燈片中獲取圖表類型和名稱?

從上面的圖片我想看到以下信息

  1. 類型:列
  2. :簇狀柱形圖。

使用或不使用互操作直到現在通過使用互操作我可以得到具有屬性的圖表類型ChartType(下面是代碼)。但它給了我xlColumnClustered從我來了解是什麼,但我想確切的名稱和類型。

if (shape.HasChart == MsoTriState.msoTrue) 
{ 
    var val1 = shape.Chart; 
    string category = val1.ChartType.ToString(); 
    Console.WriteLine("Smartart : {0} \tCategory : {1}\t Name : {2}", (i++).ToString(), category, 1); 
} 

回答

1

從圖表類型中,您不會得到比xlColumnClustered更具體的值。這是所有圖表類型的列表:

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlcharttype.aspx

這只是一個枚舉。因此,您可能可以訪問該描述,但如果不能,則必須實現自己的邏輯,將這些枚舉值轉換爲更具描述性的文本以供顯示。


那麼對於Chart.Name,它看起來像你剛剛得到*sheetname* Chart N,其中N是當然的圖表實例表上的數字:

https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.chart.name.aspx

然而,此位以及:

儘管Name屬性是隻讀的,但您可以使用P:Microsoft.Office.Interop.Excel.ChartObject.N修改名稱的一部分父T的ame屬性:Microsoft.Office.Interop.Excel.ChartObject。您指定的新名稱會替換由Name屬性返回的字符串中的「Chart n」子字符串。例如,以下代碼將圖表控件的名稱屬性值從Sheet1圖表1更改爲Sheet1 SalesChart。

Excel.ChartObject chartObjectParent = chart1.Parent as Excel.ChartObject; 
chartObjectParent.Name = "SalesChart"; 

// This message box displays "Sheet1 SalesChart". 
MessageBox.Show("The new chart name is: " + chart1.Name); 
+0

感謝您的時間。我也嘗試過chart.name屬性,但它給了我「contentplaceholder9」,並且它在圖表中有所不同 – madan

相關問題