Created attachment 28655 [details] generated document does not work on Google Docs I have been using the XSSFWorkbook to create .xlsx files with various versions of 3.8. I am having a problem with many of the files I am creating, in that I can not open them on Google Docs. Also when sending them to the iPad I get only some of the columns to appear. Excel can read the file, and if I save it once opened in excel the file opens fine in Google Docs or on the iPad. I have a test file that is created which does not work on Google Docs. If you open the file in Excel then save it it will work on Google Docs.
Created attachment 28656 [details] same file opened in excel then saved, now works in Google docs
I upgraded POI to 3.9 version and this issue is still reproducible.
This is most likely happening because of shared string table (which SXSSF doesn't create, it uses inline strings).
Whats the status of this issue? Issue still exists with IPAD. I can provide patch to use shared string table in SXSSFWorkbook.
Created attachment 30750 [details] Patch to facilitate optional use of SharedStringsTable in SXSSFWorkbook Hi, To solve the problem with IPAD, I have modified SXSSFWorkbook that will provide an optional capacity to use SharedStringsTable instead of inline strings. So, that will provide developers an option to use SharedStringsTable with SXSSFWorkbook. Thanks Rahul Mondal
Minor pedantic point but the argument in the SXSSFWorkbook constructors is misspelled - it should be useSharedStringsTable, not useSahredStringsTable.
Created attachment 30753 [details] Patch to facilitate optional use of SharedStringsTable in SXSSFWorkbook with correction of minor mistake I have removed typo error and added a new patch. Thanks Rahul Mondal
This patch has fixed our issues, allowing us to efficiently create large Excel files that can then be used on iPads and Google Docs. What's required to get this patch accepted into the next release?
(In reply to Kirk Mitchener from comment #8) > This patch has fixed our issues, allowing us to efficiently create large > Excel files that can then be used on iPads and Google Docs. What's required > to get this patch accepted into the next release? I think the main things still needed are: * JavaDoc tweak to explain pluses and minuses of shared strings table * Website patch to explain how to use it, and pluses/minuses * Unit tests for it (likely based on writing out with sxssf+shared strings, then reading back in XSSF to verify)
Hi, I need this patch too. I'm willing to dig in and help if needed. What concerns me though is that the new contructor SXSSFWorkbook(XSSFWorkbook workbook, int rowAccessWindowSize, boolean useSharedStringsTable) conflicts with the old SXSSFWorkbook(XSSFWorkbook workbook, int rowAccessWindowSize, boolean compressTmpFiles) That's going to break things for users upgrading poi after this patch. All these constructors are quite confusing. Why not add only one with all four options?
> > All these constructors are quite confusing. Why not add only one with all > four options? We have to keep the old constructors to stay compatible with old versions. We can't remove them and keep just one constructor because POI users will have to re-compile the code. Yegor
(In reply to Yegor Kozlov from comment #11) > > > > All these constructors are quite confusing. Why not add only one with all > > four options? > > > We have to keep the old constructors to stay compatible with old versions. > We can't remove them and keep just one constructor because POI users will > have to re-compile the code. > > Yegor That's my point exactly! I think the patch should _add_ _one_ constructor with all four options instead of messing with the current ones and thereby breaking the api. Martin
As Yegor says, we should add new overloaded constructors/methods, not change existing ones. If need be, @deprecate the old one In terms of next steps, we need a tweak to the patch to fix this, then the things I listed in comment #9
Created attachment 31031 [details] New version with javadoc and test I have uploaded a new version of the patch now. * Javadoc added * Test added * No fiddling with the old constructors Updates for the site still remains. Maybe we can use the javadoc comment? Could you give me a few pointers on how to create a patch for the site?
The site lives in a different bit of SVN: https://svn.apache.org/repos/asf/poi/site The site is written in a fairly simple kind of XML markup, and created using Forrest. Since you'd largely just be adding a new section, worst case is plain text or markdown would be fine. Normally the site is a little more high level than the javadocs, to get people started before they go read the latter
Created attachment 31032 [details] updated spreadsheet howto Site patch added
Hello again. Martin has updated with the required patches. Is there anything else needed before this can be included?
Thank you for the patch. Applied with SVN rev r1568539
Has the fix been implemented in a version of POI? If so, which version?
> Has the fix been implemented in a version of POI? If so, which version? For your convenience, always use the latest version ;) ... apart of it, the patch is contained in version 3.11-beta1 - see http://poi.apache.org/changes.html