There's a new listener EA released today go grab it and try out. There's 2 real changes. First the MIME_TYPE on file uploads is fixed.
The second is a result of sitting down at RMOUG last week and talking over the excel parsing with Scott. That conversation resulted in a few new knobs to change some configuration options.
1) I found an API which takes the item_id and gives back the item_name so the collection will default to the ITEM_NAME of the file upload item.
2) Files ending with .xls OR .xlsx will be processed.
3) Several new configuration choices:
a) First is a new config option to have 1 sheet of the workbook per collection. This is controlled by
<entry key="apex.excel2collection.onecollection">true|false</entry>
b) Then, you can essentially hard code a collection name to be used for all excel uploads.
<entry key="apex.excel2collection.name">MY_COLLECTION_NAME</entry>
c) Lastly, an option to use the sheet name vs. a sequential WORKSHEET:1,2,3....
<entry key="apex.excel2collection.useSheetName">true|false</entry>
So, here's a recap of excel parsing with the APEX Listener
Step 1: Turn it on
<entry key="apex.excel2collection">true</entry>
Step 2:
The request of the upload must be : xls2collection
This will get you ONE collection which contains all sheets in the workbook and the collection will be named the APEX Item name.
Options:
To have ONE collection per sheet:
<entry key="apex.excel2collection.onecollection">false</entry>
To have a sequential sheet name vs. the sheet name from excel.
<entry key="apex.excel2collection.useSheetName">false</entry>
To specify the name of the collection for ALL collections created via Excel upload
<entry key="apex.excel2collection.name">MY_COLLECTION_NAME</entry>
The results of all of these upload are a collection which is formed as this:
The default of just turning it on will look like this.
CollectionName - Item Name
C001 - Sheet Name
C002..N - Data from the worksheet