+49 (0) 62​57 6​43​32



kontakt​1@haserodt.de

Gestaltung und Umsetzung: Peter Haserodt

MS Office Steuerung mit C#

Es gibt unzählige Gründe, Excel, Word, … über C# zu steuern.

Und es gibt dafür auch viele Möglichkeiten. Immer abhängig von den Zielen und welche Anwendung man in Arbeit hat. Auch wenn man vielleicht denken mag, dass die Anwendungen, z.B. Excel und Word ähnich anzugreifen sind, irrt man sich da.

Ich möchte Ihnen einige der Ansätze vorstellen, alle basierend auf dem Einsatz von Visual Studio. Und alle gehen von einer Windows Desktop Anwendung aus.

Gerne berate ich Sie zu Ihrem Vorhaben und unterstütze Sie dabei.

Add-Ins mit Ribbon

VSTO

Die Microsoft eigene Entwicklung für Add-Ins für Desktop PCs.

VSTO ist aber als Auslaufmodell gekennzeichnet und nur im .NET Framework nutzbar. Es ist noch sehr häufig im Einsatz. Microsoft will anscheinend vehement sein Office.js durchsetzen.

Office.js

Dies ist meines Erachtens noch nicht ausgereift und für Desktop PCs nicht mächtig genug. Aber wie es sich in Zukunft entwickeln wird, weiß man nicht.

ExcelDNA

Wie der Name schon sagt, nur für Excel geeignet. Dort aber immens gut, da es als .xll zur Verfügung steht. Steht für Framework und Net 6+ zur Verfügung. Für Excel ist es mein absoluter Favorit. Vor allem sehr schnell!

Externes Programm mit Zugriff auf die Anwendung

Sei es eine Windows Forms, WPF oder welche auch immer. Hier kann man Anwendungen fast beliebig über Interop steuern. Dies fühlt sich für den Benutzer gegebenenfalls etwas fremd an. Für Word bevorzuge ich persönlich mittlerweile sogar diese Variante, wenn es möglich ist.

Externe Frameworks für Dateimanipulationen

Ich beschäftige mich hier nur mit Word und Excel. Beide sind prinzipiell xml basiert. D.h. die Dateien werden nicht in ihrer Host Anwendung manipuliert, sondern on the fly.

Hier gibt es sehr mächtige Unterstützung von Aspose http://www.aspose.com/, aber nicht ganz günstig.

Für Word gibt es die OpenXmlPowertools: https://github.com/OfficeDev/Open-Xml-PowerTools. An diesen muss man aber sehr viel herumschrauben und sind wohl etwas veraltet.

Für Excel gibt es EPPlus: https://www.epplussoftware.com/ Mit welchem ich schon gute Erfahrung gemacht habe, gerade für einfachere .xlsx Manipulationen.

Es gibt noch viele mehr.

Allgemeine Bemerkungen zu XML Manipulatonen

In Word bietet sich dies auch in geöffneten Dokumenten gut an über das Office Open XML WordprocessingML . In Excel erscheint dies doch viel komplexer.