Pages

Sunday 9 February 2014

Apache POI VS JExcel

First, here are the things where both APIs have the same end functionality:
·         Both are free
·         Cell styling: alignment, backgrounds (colors and patterns), borders (types and colors), font support (font names, colors, size, bold, italic, strikeout, underline)
·         Formulas
·         Hyperlinks
·         Merged cell regions
·         Size of rows and columns
·         Data formatting: Numbers and Dates
·         Text wrapping within cells
·         Freeze Panes
·         Header/Footer support
·         Read/Write existing and new spreadsheets
·         Both attempt to keep existing objects in spreadsheets they read in intact as far as possible.
However, there are many differences:
·         Perhaps the most significant difference is that Java JXL does not support the Excel 2007+ ".xlsx" format; it only supports the old BIFF (binary) ".xls" format. Apache POI supports both with a common design.
·         Additionally, the Java portion of the JXL API was last updated in 2009 (3 years, 4 months ago as I write this), although it looks like there is a C# API. Apache POI is actively maintained.
·         JXL doesn't support Conditional Formatting, Apache POI does, although this is not that significant, because you can conditionally format cells with your own code.
·         JXL doesn't support rich text formatting, i.e. different formatting within a text string; Apache POI does support it.
·         JXL only supports certain text rotations: horizontal/vertical, +/- 45 degrees, and stacked; Apache POI supports any integer number of degrees plus stacked.
·         JXL doesn't support drawing shapes; Apache POI does.
·         JXL supports most Page Setup settings such as Landscape/Portrait, Margins, Paper size, and Zoom. Apache POI supports all of that plus Repeating Rows and Columns.
·         JXL doesn't support Split Panes; Apache POI does.
·         JXL doesn't support Chart creation or manipulation; that support isn't there yet in Apache POI, but an API is slowly starting to form.
·         Apache POI has a more extensive set of documentation and examples available than JXL.
Additionally, POI contains not just the main "usermodel" API, but also an event-based API if all you want to do is read the spreadsheet content.

4 comments:

  1. I know you feel more happy when you get things done and best of all those things are your most precious treasure.
    https://www.tambaramtraining.com/java-training-courses
    https://www.tambaramtraining.com/cloud-computing-training-courses/amazon-web-services-aws-training-in-tambaram-chennai
    https://www.tambaramtraining.com/other-training-courses/python-training-in-tambaram-chennai
    https://www.tambaramtraining.com/software-testing-training-courses/selenium-training-in-tambaram-chennai

    ReplyDelete