2009-07-14 6 views
3

Alles, was ich tun muss, ist ein MS-Excel-Blatt öffnen - nicht sicher, welche Art noch (2003, 2007, etc.) - und analysieren Sie die Informationen in jeder Zeile in ein Objekt. Ich führe nur Lesevorgänge durch.Wählen Sie eine Excel-Java-API

aus Apache POI, JExcelAPI oder OpenXLS was ist das Beste für diese Aufgabe?

Ich würde lieber nicht mehr über APIs herausfinden, aber wenn Sie sicher sind, dass keine davon die besten sind, dann nehme ich Ihre Eingabe.

+3

JXL ACHTUNG: GC wird standardmäßig explizit aufgerufen, was dazu führt, dass der Webserver, der für die Ausführung von Super-Fast-High-Concurrent-Performance optimiert ist, angehalten wird. Speichere ein paar weiße Haare und benutze '-Djxl.nogc = true' – Asaf

Antwort

7

Ich habe POI nur verwendet, aber es war einfach zu bedienen und funktioniert wie angekündigt.

+0

I zweiter POI. Außerdem wirbt es für das Format 2007 (ich habe es selbst noch nicht ausprobiert, kann mich nicht dafür verbürgen); JExcelAPI unterstützt nur 2003. – ChssPly76

+3

Ich bin sehr beeindruckt von der Benutzerfreundlichkeit von POI, aber ich finde ständig Inkonsistenzen zwischen der Bibliothek und der Dokumentation, die es sehr verwirrend macht zu lernen. : P – Victor

+0

Gibt es im POI eine Methode, mit der man ein Passwort in XLS-Dateien setzen kann? – happy

2

Ich habe nur JExcelAPI verwendet, und fand es ziemlich brauchbar und solide. Begegnung mit einer Seltsamkeit, aber es war schriftlich, nicht zu lesen, und ist eindeutig dokumentiert (mit Lösung) in ihrem FAQ, so - glücklich, es zu empfehlen.

3

Ich empfehle nicht OpenXLS. Ich habe es eine Weile benutzt, war aber sehr frustriert über die Grenzen der kostenlosen Version. Wenn Sie beispielsweise Formeln schreiben möchten, können Sie das nicht. Es sei denn, Sie kaufen die kommerzielle Version, die das Unternehmen hinter OpenXLS sowieso verkauft.

Ich habe JExcelAPI für die letzten Monate verwendet und bin ziemlich beeindruckt davon. Es ist sehr einfach, Excel-Tabellen zu lesen und zu schreiben. Die Dokumentation ist ziemlich gut, aber es könnte besser sein. Wenn Sie Ihre Wahl noch nicht getroffen haben, empfehle ich Ihnen JExcelAPI.

Ich habe Angst, dass ich POI nicht ausprobiert habe, so kann ich nicht dazu kommentieren.

+0

Wo finde ich die Lizenzinformationen? Ich möchte es kommerziell verwenden –

+0

http://www.andykhan.com/jexcelapi/ - "JExcelApi ist unter der GNU Lesser General Public License ausgestellt." –

1

FWIW und Extentech - die Macher von OpenXLS - eine neue Version veröffentlicht, die sie unterstützt Formeln jetzt das Hinzufügen und Ausführung wie folgt:

CellHandle cx = sheet.add("=sum(a1+a2)","b1"); 
String val = cx.getFormulaHandle().getFormattedValue(); 

Außerdem werden Sie feststellen, dass Sheetster.com ist ein Open-Source-Web-Tabelle aus Extentech und Sie können eine nette Web-Tabelle in Ihre Web-Apps einbetten.