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