2010-06-10 6 views
5

Mit C# MS Excel-Interop-Bibliothek möchte ich programmgesteuert ein neues Diagramm auf der Arbeitsmappe erstellen, im Gegensatz zu auf einem Blatt.C# -excel interop - Erstellen Sie Diagramm auf Arbeitsmappe im Gegensatz zu in einem Blatt

Der folgende Code ermöglicht mir, ein Diagramm auf einem vorhandenen _Worksheet (Blatt) zu erstellen.

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; 

Wer weiß, wie etwas zu gehen, um eine Grafik auf der Arbeitsmappe zu schaffen (das heißt, wo die Grafik ist das Blatt).

Antwort

3

Wenn Sie ein Makro des Einfügens eines Diagramms als ein Blatt von der Excel-GUI aufzeichnen und auf die generierte VB schauen (was übrigens eine sehr praktische Möglichkeit ist, herauszufinden, wie man auf der Interop funktioniert), werden Sie sehen Das Diagramm wird zuerst im aktiven Arbeitsblatt erstellt und dann in ein neues Arbeitsblatt geändert. So nach dem obigen Code können Sie fügen Sie einfach die Zeile:

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

oder wenn Sie Excel wollen es automatisch für Sie nennen:

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

dank Jojo, das ist die Antwort, die ich suchte, und einige guter Rat. –

Verwandte Themen