Lesen von Excel-Dateien als Server-Prozess
Ich bin auf der Suche nach ein geeignete Weg, um Lesen Sie den Inhalt einer Excel-Datei auf einem NT server-Betriebssystem. Ich habe zahlreiche Probleme mit den Excel-API und kam dann auf die offizielle Microsoft auf der Office-Automatisierung, die besagt, dass die Excel-API ist nicht geeignet für Excel-Automatisierung. Die möglichen Probleme, die ich sah, waren ähnlich zu jenen, beschrieben in dem Artikel.
Gibt es eine andere Möglichkeit, die ich Lesen kann eine Excel-Datei (xls, xlsx, xlsm) auf einem server (kein UI) in einer Weise, die nicht leiden die gleiche Art von threading/Sicherheit/Lizenz-Probleme auferlegt, die innerhalb der Excel-API?
- Ich habe versucht, dies passt besser in Frage. Das ist ziemlich alt, also kann ich kein Beispiel-code/Ausnahmen, aber ich glaube, dass könnte gut sein, lohnt sich ein anderer Nutzer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gab es eine Reihe von Bibliotheken, die hervorgehoben wurden, die von verschiedenen Benutzern, die erlauben würde, die Art der erforderlichen Funktionalität. Ich habe gelistet, die Ihnen hier und einige von diesen wurden ausgewertet, damit gegebenenfalls die ich versucht habe zu legen, die interessante Kommentare für den Vergleich. Die details habe ich komplett Meinung basiert jedoch jede dieser Bibliotheken würde wahrscheinlich erreichen erforderlich Ziel.
SpreadsheetGear.Net
(Nicht bewerten, aufgrund der hohen Anschaffungskosten)
Aspose.Zellen
(Bewertet von einer Kollegin. Zu sein schien ziemlich einfach zu implementieren, Leistung vergleichbar mit Excel-Interop).
GemBox
(Nicht bewerten)
Excel Services
(Scheint nur zu sein, SharePoint 2007)
Excel-Mapper
(Nicht bewerten, weil es erfordert, stark typisierte Objekte zu importieren, in die passte nicht meine Anforderung).
SmartXls
(Nicht bewerten, weil es erfordert, stark typisierte Objekte zu importieren, in die passte nicht meine Anforderung).
ActiveXls
(Ziemlich einfach zu bedienen, fehlen von Eigenschaften, die Fragen aufwirft, haben Sie eine Präferenz der Methoden für triviale Aktionen. Trotz der Forderung von 1 Mio Datensätzen, eine zweite wurde aus durchgeführt durch billigere FlexCel. Haben beschlossen, dass die Hilfe/API-Handbuch ist fast nutzlos.)
Koogra
(Nicht bewerten wegen zu finden, die keine Dokumentationen/Informationen)
FileHelpers
(Nicht bewerten)
Flexcel
(Kostengünstigste Lösung gefunden, die gute Leistung und war einfach zu implementieren, mit der Nähe zu Excel-Interop-Struktur. Bekam auch schnell eine Antwort auf die technische Frage von Unterstützung. Wohl mein pick of the bunch.)
SyncFusion BackOffice
(Mittlere Kosten und eine angemessene Struktur. Leider hatte mehr Schwierigkeiten der Umsetzung und inkonsistente Ergebnisse beim ausführen von unit-tests. Erhielt auch eine Reihe von 'Versucht, geschützten Speicher zu Lesen" Fehler, die nicht ermutigen mich mit rein verwalteten Bibliothek.)
Habe ich verwendet ADO.NET Holen Sie Daten aus einer xls vor. Ich bin mir nicht sicher, dass alle Excel-Doc-Typen dieses unterstützen würden, aber schauen Sie sich Lesen und Schreiben von Excel-Tabellen Mit ADO.NET C# DbProviderFactory
Hier ist ein code von ein SO Frage, wie gut.
War ich in der Lage zu Lesen und zu schreiben, um excel ohne das installieren von Office oder irgendwelche 3rd-party-tools.
Lesen von Excel-Dateien mit C# ohne Installation von Excel Sie verwenden könnte, Apache POI.
Es ist eine java-Bibliothek zum Lesen und schreiben von MS-Office-Formate. Da ist es java und C# müssen Sie IKVM und die java-Klassen aus der POI Projekt.
Jedoch, der einfachste Weg ist es, einfach herunterladen Jon Iles vorzüglich MPXJ Projekt und Sie haben es alle. Setzen Sie einfach einen Verweis auf
IKVM.OpendJDK.ClassLibrary.dll
,IKVM.Runtime.dll
,poi-3.2-FINAL-20081019.dll
Habe ich gehackt zusammen eine schnelle Konsole app, Ihnen zu zeigen, einen einfachen Weg zum Lesen eines Excel .xls-sheet. Es liest nur das erste Blatt und nicht verwenden Sie die Zeile oder eine Zelle mit Iteratoren, aber es macht den job gut.
NB: Sie müssen schauen
org.apache.poi.ss
um sicherzustellen, dass Sie Lesen können.xlsx
etc-Dateien.Ich bin nicht sicher, warum die Anzeige SO erscheinen nicht in Relevanz zu Ihrer Frage.
Gibt es etwas ähnliches namens Excel Services von microsoft. Ich nehme an, diese können Sie mithilfe von Excel in einem webservice-Stil. Ich denke, SpreadSheetGear ist, was microsoft verwendet, als ad verwendet, um anzuzeigen. 🙂
Excel.
Nach Jahren zu versuchen, zu stoppen, Leute, die aus der Verwendung von Excel auf dem server, hab Sie gegeben/angenommen der Markt braucht und haben begonnen, dies zu unterstützen.
2007 hat einige impovement für diese und Excel 2010 soll es sogar mehr.
Ist hier etwas Lesen können .xls-und xlsx-Dateien. Es ist open-source. http://code.google.com/p/excelmapper/.
Es ist im Grunde ein ORM, so müssen Sie es lediglich mit Objekten anstelle von OleDB.
Hatte Sie versucht,SmartXLS für .net?
oder ActiveXLS?
Ich glaube, zum nutzen dieses Threads habe ich zu erwähnen, EPPlus. Seine ein opensource-Projekt verfügbar in codeplex.
Ich verwendet habe, diese in mehrere Projekte und hatte nie Probleme mit ihm.