2016-06-01 4 views
-1

Ich arbeite an vsto Anwendung, ich habe eine offene Arbeitsmappe. Ich möchte ausgewählte Blattdaten aus dieser Arbeitsmappe lesen, ohne eine oledb-Verbindung zu verwenden. Gibt es eine Möglichkeit, die Daten zu lesen und in der Datentabelle zu speichern.So erhalten Sie ausgewählte Excel-Tabelle Daten ohne Oledb-Verbindung in C#

+0

Haben Sie in Microsoft.Office.Interop.Excel – JaredStroeb

+0

ja geschaut, ich habe aktuelle ausgewählte Blatt Referenz. –

+0

Welche Art von "vsto-Anwendung": eine Arbeitsmappen-Anpassung oder ein Add-In? –

Antwort

0

Der schwierige Teil ist herauszufinden, ob die aktuelle Auswahl für das, was Sie tun möchten, gültig ist. In der VBA-Welt von Excel würden Sie mit der VBA-Informationsfunktion TypeName arbeiten, um zu bestimmen, ob die aktuelle Auswahl ein Range-Objekt ist. C# hat kein direktes Äquivalent, Sie müssen also umgehen. Wenn Sie nur an einem Bereich interessiert sind, können Sie überprüfen, ob eine direkte Konvertierung in einen Excel-Bereich gültig ist und von dort aus fortfahren. Ein Range-Objekt gibt ein Array zurück, das Sie in einen Datensatz einfügen können.

Das folgende Codebeispiel zeigt, wie Sie die Auswahl testen und mit dem resultierenden Array arbeiten. Es macht nichts mit einem Datensatz - das wäre eine andere Frage.

Eine Alternative zur Verwendung des Cast-Tests ist die Arbeit mit den COM-APIs. Wenn Sie je nach Art der Auswahl verschiedene Maßnahmen ergreifen müssen, ist dieser Ansatz möglicherweise effektiver. Es ist hier beschrieben: https://www.add-in-express.com/creating-addins-blog/2011/12/20/type-name-system-comobject/

+0

Danke Cindy, will nur wissen, Auswahl-Eigenschaft ist, was ich aus Excel jetzt aktuelle Excel-Daten auswählen? –

+0

Der Code, den ich Ihnen zeige, nimmt die aktuelle Auswahl in der Excel-Anwendung auf - egal, was es ist. Es prüft dann, ob die aktuelle Auswahl ein Bereich von Zellen ist. Ist dies der Fall, wird dieser Bereich einem Array zugewiesen, mit dem Sie dann arbeiten können. Warum probierst du es nicht aus? –

Verwandte Themen