2016-03-23 2 views
2

MS Office-Anwendungen wie Excel können mit Visual Basic für Applikationen programmiert werden. Ist es möglich, MS Office mit C# für fortgeschrittene Aufgaben zu programmieren?MS Office mit C# programmieren - ist das möglich?

+1

Ich denke, da gibt es zwei allgemeine Richtungen. Zuerst programmieren Sie eine Art Plugin, um einige Funktionalitäten in Excel (oder anders) hinzuzufügen. Dies kann z.B. VSTO, wie Patrick gesagt hat. Der zweite ist ein Programm, um Excel-Dateien ohne Excel zu manipulieren. Das könnte mit NPOI oder einer von mehreren anderen Bibliotheken da draußen gemacht werden ... –

+0

Ist NPOI so etwas wie Java-API für Microsoft-Dokumente (, die für .net ist)? – Fsalad

+0

NPOI ist eine Bibliothek, die Klassen/Methoden zur Bearbeitung von Excel- oder Word-Dateien direkt aus einer C# -Anwendung gibt. Werfen Sie einen Blick auf https://npoi.codeplex.com/ –

Antwort

4

Ja, ist es. Sie können Visual Studio Tools for Office verwenden, wodurch Add-Ins in C#, VB.NET usw. geschrieben werden können. Es verwendet COM-Interop für die Kommunikation mit Office.

Außerdem haben Sie heute Office apps, die eine Mischung zwischen JavaScript und möglicherweise einem Serverendpunkt sind, der auch in C# codiert werden kann.

2

Definitiv. Sie können Visual Studio Community 2015 kostenlos installieren. Dann schauen Sie in diesen Ordner (Pfad kann variieren):

C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Visual Studio Tools for Office \ PIA \ Office15

Von hier aus können Sie finde dll für jede Office App.

Nehmen Sie beispielsweise Microsoft.Office.Interop.Excel.dll, starten Sie ein neues C# -Projekt, fügen Sie diese DLL in die Projektreferenz ein.

using Excel = Microsoft.Office.Interop.Excel; 

Dann können Sie Ihre Excel-App wie folgt initialisieren:

Excel.Application xlApp = new Excel.Application(); 
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\path\file.xlsx"); 
Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; 

Es gibt eine Fülle von diesen Tutorials online. DoNotPerls ist ein guter Ort, um mit Grund zu starten:

  1. Excel
  2. Word
2

Eine weitere große Möglichkeit (und die, die ich empfehlen) ist Add-in Express zu verwenden. https://www.add-in-express.com

Ihr Toolset erweitert die Möglichkeiten von VSTO- oder COM-Add-Ins erheblich. Ihre Unterstützung ist fantastisch und ihre Website hat Beispiele für fast jedes Office-Entwicklungsszenario.

3

Es wäre eine Ungerechtigkeit nicht zu erwähnen Excel-DNA. Ein erstaunliches Produkt, geschrieben von einem talentierten und sehr hilfsbereiten Kerl und mit guter Community-Unterstützung. Es ist kostenlos verfügbar und macht es sehr einfach, Excel benutzerdefinierte Funktionen, RTD-Server und andere Leckereien zu machen.

Excel-DNA ist ein unabhängiges Projekt zur Integration von .NET in Excel. Mit Excel-DNA können Sie native (.xll) Add-Ins für Excel unter Verwendung von C#, Visual Basic.NET oder F # erstellen, die benutzerdefinierte benutzerdefinierte Funktionen (UDFs), benutzerdefinierte Ribbon-Schnittstellen und mehr bieten. Ihr gesamtes Add-In kann in eine einzelne .xll-Datei gepackt werden, für die keine Installation oder Registrierung erforderlich ist.

eine benutzerdefinierte Funktion zu schreiben, ist so einfach wie eine statische Methode schreiben und darunter die kompilierte DLL oder .cs mit der mitgelieferten XLL-Datei einzureichen.

0

Für Excel können Sie mein ESharper-Add-In verwenden, um leichtgewichtige benutzerdefinierte Funktionen und Befehle mithilfe von C# in einer Live-Excel-Sitzung ohne zusätzlichen Add-In-Implementierungsaufwand interaktiv zu schreiben.

Verwandte Themen