Memory efficient Shared Strings Table implementation for POI streaming
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle/wrapper
src
.travis.yml
LICENSE
README.md
build.gradle
gradlew
gradlew.bat

README.md

Build Status Maven Central

poi-shared-strings

Memory efficient Shared Strings Table implementation for POI xlsx streaming. Supports read and write use cases when used with POI 4.0.0.

https://bz.apache.org/bugzilla/show_bug.cgi?id=61832

The TempFileSharedStringsTable uses a H2 MVStore to store the Excel Shared String data. The MVStore data can be encrypted using a generated password.

This class can be used instead of the POI SharedStringsTable and ReadOnlySharedStringsTable. It is only useful if you expect to need to support large numbers of shared string entries.

Samples

There is an xlsx reading sample and also an xlsx writing sample at https://github.com/pjfanning/poi-shared-strings-sample.

Usage

When reading files, use new TempFileSharedStringsTable(opcPackage, true) to have the shared strings loaded from the xlsx package.

If you are using the TempFileSharedStringsTable when writing files (eg using SXSSFWorkbook), then use new TempFileSharedStringsTable(true) to create an empty table that you can add shared string entries to.