2009-05-31 5 views
0

Ich brauche ein Excel-Blatt-Arbeitsmappe (fügen Bogen/fügen Sie Daten/Spalten ausblenden/schützen die Zellen mit Passwort/ändern Felder Inhalt/etc etc) manuplateASP.NET manuplating Excel-Blatt

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

oder gibt es eine gute (kommunale oder freie) Bibliothek/Plug-in für diese Art von Aktivität verwendet werden.

bitte helfen

Antwort

1

Der einfachste Weg, die ich gefunden habe ist die Excel XML format zu verwenden. Auf diese Weise können Sie ein Excel-Blatt wie jede andere XML-Datei bearbeiten. Um zu sehen, wie Excel Spalten versteckt oder sie mit einem Passwort schützt, führen Sie diese Dinge manuell aus und sehen Sie, wie Excel sie als XML speichert. Das ist ein Kinderspiel, es ist felsenfest, und es ist schnell.

Das Bearbeiten nativer Excel-Dateien ist schwieriger: Sie können die COM-Objekte mit der primary interop assemblies verwenden. Nach meiner Erfahrung ist das sehr schwer zu bekommen. Im besten Fall hinterlässt Excel alte Kopien von sich selbst, die Sie mit einem geplanten nächtlichen Server-Reset mildern können. Im schlimmsten Fall wird Excel nach dem Zufallsprinzip hängen, so dass Ihre Website nicht mehr reagiert.

Eine andere Möglichkeit, mit nativen Excel-Dateien zu arbeiten, ist Visual Studio Tools for Office. Es ist sicherlich einfacher als COM-Interop zu verwenden, 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 nicht tat tauchen Sie sehr weit in VSTO ein, weil die XML-Manipulation für mich so gut funktioniert hat. Vielleicht können andere Leute sagen, wie es in einer ASP.NET-Website funktioniert.

1

Mit SpreadsheetGear Sie uneingeschränkten Zugriff auf das Excel doc haben und alle der Makrofähigkeit einschließlich der Fähigkeit, Zellen zu schützen und un-Schutz, Säulen, usw. Wir haben das gleiche, was Sie beschreiben, außer in WinForms.

0

Wir haben die COM-Objekte verwendet und kann es nicht empfehlen. Ein großes Problem ist, dass die Objekte niemals freigegeben werden ...

Wir verwenden jetzt die Komponente von Gembox Software. Habe es seit zwei Jahren benutzt und funktioniert ok, es ist ein wenig billiger als der oben erwähnte, den ich vorher nicht kannte.