zodiac2k's Blog

Aspose.Cells vs Apache-POI

Programmierung

Da ich in den letzten Monaten mit beiden Frameworks intensiv gearbeitet habe, möchte ich mir mal ein Urteil erlauben... auch wenn ich ein Befürworter und Unterstützer von OpenSource Projekte bin, muss ich hier eindeutig die Vorteile von Aspose.Cells hervorheben.

Das liegt nicht nur daran, dass Aspose.Cells wesentlich übersichtlicher und leichter zu benutzen ist, sondern auch eine große Palette der Excel-Funktionalitäten unterstützt und bereitstellt.

Allein durch die strikte Unterscheidung zwischen Excel 2003 und Excel 2007 in Apache POI (HSSF und XSSF) wird die Bearbeitung deutlich erschwert.
  • Farbliche Formattierung von Zellen und Texten wird in XSSF durch RGB und in HSSF durch eine begrenzte Farbpalette, die konfiguriert werden muss, durchgeführt. Mir ist keine Konvertierungsmöglichkeit bekannt.
  • Arbeitsblätter mit Graphen können mit Apache POI nicht kopiert und geklont werden.
  • Es gibt nicht für alle Objekte Wrapper - Workbook, Sheet, Row, Cell funktionieren einwandfrei aber wenn man beispielsweise Formeln aktualisieren will, muss erst mit instanceof den Objekttyp prüfen, bevor man den entsprechenden FormulaEvaluator aufrufen kann.
  • Formeln werden von Apache POI nur begrenzt unterstützt. Mathematische Formeln mit Referenzen auf andere Sheets sind okay, aber sobald es an logische Formeln geht - sei es nur eine IF(;;) Formel - hört es bei POI auf.

Aspose.Cells, das nicht gerade günstig ist, ist jedoch sein Geld wert. Neben dem übersichtlicheren Framework gibt es auch deutlich mehr Dokumentation und brauchbare Beispiele für nahezu alle gängigen Probleme.

  • Aspose.Cells unterscheidet nicht zwischen den Excel-Formaten. Man kann ein Office 2007 Dokument als Template laden, Daten darin verändern und es ohne Formattierungsverluste als Excel 2003 Dokument wieder abspeichern. Selbst eine Ausgabe in ODF oder PDF ist möglich.
  • Graphen in einem Sheet werden anstandslos mitkopiert und die Daten können leicht modifiziert werden. Zudem ist die Erstellung von neuen Graphen sehr einfach, da die Größe der Graphen über Zellen konfiguriert werden kann - bsp. kann ein Graph mit den Ausmaßen von A1:D15 erstellt werden.

Für kleinere Projekte, bei denen die Ausgabe auf ein Excelformat beschränkt ist, reicht Apache POI aus. Sobald es komplexer wird und ein Großteil der Excelfunktionalität verwendet werden muss, kann ich nur zu Aspose.Cells raten.

So far...
zodiac2k



Verfasst am 06.07.2015