2016-01-19 11 views
12

Ich muss XLSX-Datei unter Linux von .NET Core Console-Anwendung analysieren. Ich konnte jedoch keine Bibliothek zum Analysieren von Microsoft Office-Dateien finden, die von .NET Core 5 Framework unterstützt wird.Gibt es eine .NET Core-kompatible Bibliothek zum Lesen von Excel-Datei?

+0

es möglich wäre, für Sie mit CSV-Dateien zu arbeiten, anstatt Excel-Tabellen, oder ist das out der Frage? – Maritim

+0

@Maritim Ich würde natürlich lieber CSV-Datei verwenden, aber die Art der Eingabe wird von unserem Kunden definiert, so dass es nicht geändert werden kann. –

+0

Ich nehme an, sie können die Daten dann als CSV übermitteln? Das ist, was ich mindestens fragen würde, keinen Sinn darin, eine Excel-Datei zu senden, wenn eine CSV die Arbeit machen kann;) – Maritim

Antwort

3

Haben Sie sich die Excel Data Reader angesehen?

Es gibt auch eine NuGet package, wenn das die Installation erleichtert.

Die API-Projektdatei scheint keine COM-Interop-Anforderungen mit Office zu erfüllen, was durch die Existenz von Android- und Silverlight-kompatiblen Projekten, die in der Bibliothek enthalten sind, weiter unterstützt wird.

+0

Ja, ich habe versucht, einen Verweis auf das ExcelDataReader NuGet-Paket hinzuzufügen, aber es scheint nicht Framework DNXCore zu unterstützen, nur Full-Dot-Net-Framework. Ich habe mir auch das NetOffice.Excel-Paket angeschaut, aber es war dasselbe. –

+1

Sie können stattdessen von GitHub versuchen. NuGet ist nur so aktuell wie der letzte Build, den sie veröffentlicht haben. Ich bin mir ziemlich sicher, dass ich in GitHub Referenzen zu portablen Klassen-Typen gesehen habe. Wenn das nicht sofort funktioniert, können Sie versuchen, von der Quelle mit nur DNX Core neu zu kompilieren. Die .Net-Anforderung könnte nur auf Projektebene erfolgen. Und im schlimmsten Fall werden Sie sehen, welche .Net-Klassen Sie ersetzen müssen, um es zum Laufen zu bringen. – MutantNinjaCodeMonkey

+1

@ MutantNinjaCodeMonkey, es wäre nicht möglich, weil die Bibliothek verweist 'ICSharpCode.SharpZipLib.dll', die keine Unterstützung für .NET Core –