Archive

Posts Tagged ‘file reader’

On .xls File Readers - Implementation Approaches

June 17th, 2008

In any kind of aggregation, warehousing, or situational mash-up project, numerous data-source specifications exist that can be utilized as one of the possible inputs. One of the most common formats, rather most widely used, is Microsoft Excel format (.xls)- the obvious reason being the inherently widespread usage of the format. Now, the most basic requirement, while using .xls as a data-source within above explained context, is the ability to read it, viz, developing an excel-reader that could be embedded or plugged into such a setup.

Keeping the above problem scope in mind, I’ll point out two feasible implementation approaches to develop such a reader. Please note that this is an ‘info post’ that is supposed to be exploratory. I would try to post my case-analysis sometime later.

- Java-based approach: This uses the API exposed by the Apache POI library, specifically the Horrible Spreadsheet Format (HSSF) detailed here - http://poi.apache.org/hssf/index.html

- PHP-based approach: In this, I tried extending the PHP Excel Pro library by putting a wrapper class over the existing piece. There’s another open library available at sourceforge - http://sourceforge.net/projects/phpexcelreader/, however, in case it is an enterprise thingy that you’re working on, you would do well to get the licensing sorted out before getting your hands / code dirty with open libraries (no implication whatsoever to open-source).

Some of the considerations when choosing one of the above approaches would be: -

- Flexibility and coverage: What all can the reader actually read. (Eg, Can it do formula translation / formula calculations ?)

- Ease of implementation: To what extent does the developer need to know the underlying .xls format.

- Licensing issues: Off-the-shelf Vs In-house development cost constraints as usual.

- Extensibility and support: Open libraries are mostly provided as-is, whilst licensed products would usually come with some sort of tech-support.

Comments | Feedback | Help, drop me a note.

Share/Save/Bookmark

SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon

Comparison , , , , ,