2010-06-10 107 views
5

使用c#MS Excel互操作庫,我想以編程方式在工作簿上創建新圖表,而不是在工作表上。c#-excel interop - 在工作簿上而不是在工作表上創建圖表

下面的代碼允許我在現有_Worksheet(工作表)上創建圖表。

using using Microsoft.Office.Interop.Excel; 

_Worksheet sheet; (assume this is a reference to a valid _Worksheet object) 
ChartObjects charts = (ChartObjects)sheet.ChartObjects(Type.Missing); 
ChartObject chartObject = (ChartObject)charts.Add(10, 80, 300, 250); 
Chart chart = chartObject.Chart; 
chart.ChartType = XlChartType.xlXYScatter; 

有誰知道如何去創建工作簿上的圖表(即圖表是工作表的位置)。

回答

3

如果您從Excel GUI錄製插入圖表的宏,並查看生成的VB(順便說一句,這是一個非常方便的方法,可以瞭解如何在互操作中完成),您會看到它只是在活動工作表中首先創建圖表,然後將其位置更改爲新工作表。因此,經過你的代碼上面你可以添加一行:

chart.Location(XlChartLocation.xlLocationAsNewSheet, "NewSheetName"); 

,或者如果您希望Excel自動爲您命名:

chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing); 
+0

謝謝YOYO,這就是我一直在尋找的答案,有的好建議。 – 2010-06-12 12:41:08

相關問題