Hi,

I wanted to see the POI HSSF/XSSF project on Android, so I did a port
to Android.  I did a very basic spreadsheet, which can be seen here:

https://github.com/dennis-sheil/android-spreadsheet

The main reason the spreadsheet is so basic is that the first thing I
did was implement a very basic spreadsheet frame.  Then I added HSSF
functionality.  Then I added some more basic spreadsheet
functionality.  So to be clear, I at this point had (and still have) a
working Android project (a spreadsheet) that implements Apache POI
HSSF functionality successfully.

This is where the tl;dr part for some reading this might start.  If
you're not interested in Apache POI XSSF being ported to Android, you
can stop reading now.

So after implementing HSSF successfully, I then tried to implement
XSSF - and got stuck on that.  The problem is not per se with Apache
POI XSSF.  The problem is with an Android concept called the "Dalvik
executable".  You can Google that if you want.  The Android
development process entails Java class files being converted into
these Dalvik executable files.  Remember Android does not run a Java
VM but a Dalvik VM.  The problem with these Dalvik executable files is
that, according to Google they have a 65536 (
http://code.google.com/p/android/issues/detail?id=7147 ) method limit
for Dalvik executable files.  With all those jar files I had as
reference libraries for XSSF going into the Dalvik (xmlbeans,
poi-ooxml, log4j etc., including a schemas file even more stripped
down than the stripped down schemas file that Apache put up), the
65536 method limit kept being hit.

So there are two solutions I see for getting XSSF onto Android:

1) Keep whittling down at that schemas file and so forth to get under
65536 methods, and put out a project with one Dalvik executable.  This
is the method that you people who are more familiar with POI than
Android would be best at, and the one to think about first if you
don't know Android pretty well.

2) Android has methods of loading multiple Dalvik Executable files
into one Android project (
http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html
).  So it can be worked at from that angle as well.

Anyhow, as POI HSSF and XSSF are released under the Apache License,
version 2, I thought it would be a good idea to release my port of POI
HSSF to Android under the same license, so that is what I did.  Any
XSSF work would be under the same license as well.  I'm open to
suggestions on this front, we can all work together.  My main concern
is getting not just HSSF, but XSSF onto Android as well.  If anyone is
interested in helping me take a crack at bringing XSSF to Android,
this is my e-mail address, and the code up on Github is at
https://github.com/dennis-sheil/android-spreadsheet .  The license is
Apache Version 2 for everything, so whether it's patched to my tree on
Github, or brought back into POI, or whatever, anything is fine by me.
 I'd just like to see XSSF on Android, alongside HSSF, which is
working fine.  So anyone interested can contact me, or reply to the
mailing list.  I posted this here since I saw some people talking
about this in the past, and figured people would be interested (and
have some POI expertise as well).

Thanks,
Dennis Sheil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to