Frage

Ich brauche eine Excel-Blatt-Arbeitsmappe manuplate (hinzufügen Blätter / add data / Spalten ausblenden / schützt die Zellen mit Passwort / ändern Felder Inhalt / etc etc)

sollte ich die COM-Objekte von Microsoft verwenden (aber dann denke ich, sie haben einige Probleme in asp.NET verwendet wird)

oder gibt es eine gute (commurcial oder kostenlos) Bibliothek / Stecker in die dafür diese Art von Aktivität verwendet werden.

Bitte helfen

War es hilfreich?

Lösung

versuchen, Tabellenkalkulations-Gang Dritte Komponente

http://www.spreadsheetgear.com/

Andere Tipps

Der einfachste Weg, die ich gefunden habe ist das Excel XML-Format zu verwenden. Auf diese Weise können Sie eine Excel-Datei wie jede andere XML-Datei bearbeiten. Um zu sehen, wie Excel blendet Spalten oder schützt sie mit einem Passwort, tun die Dinge, manuell und sehen, wie Excel sie als XML speichert. Dies ist ein Kinderspiel, Code auf, es ist Rock stabil, und es ist schnell.

Manipulieren von nativen Excel-Dateien ist härter: Sie können die COM-Objekte mit dem verwenden können primäre Interopassemblys . Meiner Erfahrung nach ist dies sehr schwer richtig zu machen. Im besten Fall lässt Excel alte Kopien von sich selbst um, die Sie mit einem geplanten nächtlichen Server-Reset mildern kann. Im schlimmsten Fall wird Excel zufällig hängen, Ihre Website nicht mehr reagiert zu machen.

Eine weitere Möglichkeit, mit nativen Excel-Dateien zu arbeiten, ist Visual Studio Tools für Office . Es ist sicherlich einfacher zu bedienen als COM-Interop, und funktioniert am besten von Visual Basic:

Application.Workbooks.Open("Workbook.xls")

C # fehlt optionale Parameter und eine Arbeitsmappe öffnen wird etwas von einem schlechten Witz:

Application.Workbooks.Open(@"Workbook.xls",
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,missing, missing);

Ich habe nicht sehr weit in VSTO tauchen, da XML-Manipulation für mich so gut funktioniert. Vielleicht können andere Menschen kommentieren, wie es funktioniert in einer ASP.NET-Website.

Mit SpreadsheetGear haben vollständigen Zugriff auf die Excel-doc und alle der Makrofähigkeit einschließlich der Fähigkeit zum Schutz und un-schützen Zellen, Spalten, etc. Wir haben die gleiche Sache, die Sie beschreiben, außer in WinForms.

Wir haben die COM-Objekte verwendet, und ich kann es nicht empfehlen. Auf großes Problem ist, dass die Objekte nie ... frei bekommen

Wir verwenden nun die Komponente aus Gembox Software. verwendet habe es für zwei Jahre und arbeitet OK, es ist ein wenig billiger, dass die über metioned, die ich vorher nicht wissen, dass es hier zu sehen.

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