.NET: Wenn mein .NET Büro automatisiert, muss der Kunde Office installiert haben?

StackOverflow https://stackoverflow.com/questions/403118

  •  03-07-2019
  •  | 
  •  

Frage

Wenn ich erstelle ein Programm, das in einer kleinen aus dem Weg Bereich verwendet Excel Automatisierung:

wird fehlschlagen die Anwendung, wenn Excel benötigt wird,

oder wird die Anwendung gestartet werden?


Update

Lassen Sie mich die gleiche Frage stellen, aber in einer Art und Weise herausgezogen:

Wird die Anwendung nutzbar sein von

  •   

    99,9% der Nutzer, die nie die Funktion verwenden, die Excel

    erfordert
  • 0% der Nutzer, da Excel nicht installiert ist.

Lassen Sie mich die gleiche Frage eine andere Art und Weise fragen:

Wird nicht eine Anwendung zu initialisieren, dass die COM-Interop-DLL verweist?


Lassen Sie mich die gleiche Frage eine andere Art und Weise fragen:

Wird eine Anwendung, die nicht Excel verwendet, sondern verweist auf den COM-Interop-DLL nicht gestartet werden?


Lassen Sie mich die gleiche Frage eine andere Art und Weise fragen:

Wird eine Anwendung, die nicht Excel nutzbar sein nicht verwenden, wenn Excel nicht installiert ist, wenn die Anwendung eine Abhängung auf die Office Primary Interop DLLs hat?


Lassen Sie mich die gleiche Frage eine andere Art und Weise fragen:

Wenn meine Anwendung Excel nicht verwendet, muss der Benutzer Excel installiert haben?

War es hilfreich?

Lösung

Der Code wird ordnungsgemäß ausgeführt werden, bis es einen Aufruf an die Automatisierungsbibliotheken zu machen versucht, zu diesem Zeitpunkt wird eine Ausnahme erzeugen.

Andere Tipps

Ich habe eine Anwendung, die Excel-Automatisierung verwendet und ich kann definitiv sagen, dass es zur Laufzeit fehlschlagen wird, nicht zur Ladezeit. In der Tat prüfen wir, ob es überhaupt installiert ist und zeigt nur die „Show-Daten in Excel“, wenn wir es finden (aber die PIAs werden auf alle Installationen im Einsatz).

Wenn Sie Office automatisieren ... du musst haben Büro!

Having said that, die Antwort ändert sich, wenn Sie die Frage drehen, in: Kann ich eine Excel-Tabelle erstellen, ohne dass auf dem Client Excel mit

Es gibt viele Steuerelemente von Drittanbietern, dies zu tun; : Sie können direkt an die MS SpreadML XML-Spezifikation ( http schreiben //msdn.microsoft.com/en-us/library/aa140066(office.10).aspx oder Bibliotheken von Drittanbietern verwenden, tun (wie http://www.carlosag.net/Tools/ExcelXmlWriter/ ).

ich denke, es zur Laufzeit fehl, weil die Interopassemblys der Lage sein sollte, ohne dass die COM-Komponenten auf dem Kunden-System zu laden.

UPDATE: Runtime sollte bedeuten, wenn Sie es brauchen

Mit COM in Win32, es wird scheitern, wenn nötig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top