Laden...

Wie AutoFilter in Office umsetzen

Erstellt von wdani vor 19 Tagen Letzter Beitrag vor 18 Tagen 220 Views
W
wdani Themenstarter:in
2 Beiträge seit 2024
vor 19 Tagen
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

16.827 Beiträge seit 2008
vor 19 Tagen

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

W
wdani Themenstarter:in
2 Beiträge seit 2024
vor 19 Tagen

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

4.938 Beiträge seit 2008
vor 19 Tagen

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.

1.820 Beiträge seit 2005
vor 18 Tagen

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 🙁

16.827 Beiträge seit 2008
vor 18 Tagen

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.