Laden...

Wie AutoFilter in Office umsetzen

Letzter Beitrag vor 6 Monaten 6 Posts 475 Views
Wie AutoFilter in Office umsetzen

Hallo zusammen,

ich bin neu in diesem Forum und ein blutiger Anfänger, was C# betrifft.

Ich habe es geschafft, aus einer von mir geschriebenen VBA (Excel) Anwendung ein Teil in C# zuschreiben.

Ich exportiere eine CSV Datei in ein bestehende Excel Arbeitsmappe, so weit so gut, nun möchte ich wie bei VBA den AutoFilter setzen - WS.Cells(1, 1).AutoFilter - aber leider scheitere ich bisher daran.

Eventuell kann mir jemand einen Denkanstoß geben, wäre sehr schön.

Beste Grüße

Kann Dir beim konkreten Problem leider nicht helfen; aber sei Dir bewusst, dass die .NET Schnittstelle in Office seit rund 10 Jahren abgekündigt ist und mit der nächsten Office-Version auch wegfällt. Neues Zeug mit .NET zu beginnen ist daher leider nich unbedingt die beste Idee auf lange Sicht gesehen.

Die einzig verbleibende API für Office bleibt dann Office Add Ins

Danke für die Antwort.

Auf lange Sicht gesehen, will ich das Projekt ohne Office (Excel) verwirklichen. Dazu muss ich aber noooooch viel lernen.

Beste Grüße

Hallo,

ich nehme mal an, du verwendest bisher Office-Interop?

Eine einzelne Zelle selbst besitzt keine AutoFilter-Eigenschaft, sondern du mußt stattdessen einen Range verwenden, s. Autofilter sowie Range.AutoFilter(Object, Object, XlAutoFilterOperator, Object, Object).

(Edit: In der Antwort von AutoFilter in Excel einfügen gibt es ein C#-Beispiel dafür)

Um ohne installiertes Office (Excel) eine Arbeitsmappe zu bearbeiten, gibt es Office Open XML sowie ClosedXML.


PS:

@Abt: Hier geht es wohl nicht um ein Add-In, sondern um eine eigenständige .NET-Anwendung.

Hallo,

als kleiner Tipp sei hier einmal das Framework NetOffice erwähnt, welches einen Wrapper für die Microsoft Office-Anwendungen bereit stellt.

Damit kann man per Fernsteuerung der Anwendungen so ziemlich alles machen, was sonst auch mit VBA geht.

Zu Einsteigen gibt es auch zahlreiche Beispiele.

Nobody is perfect. I'm sad, i'm not nobody 🙁

Zitat von Th69

@Abt: Hier geht es wohl nicht um ein Add-In, sondern um eine eigenständige .NET-Anwendung.

Ob Addin oder Interop - unter der Haube ist das die "gleiche" Schnittstelle, die weg fällt mit der nächsten Office Version.
Daher ist der NetOffice-Hinweis auch nicht ganz so praktisch: auch das fällt weg - das mit OpenXML ist die Zukunft.