Apache POI - Related Projects
This page lists other projects that you might find interesting when working with documents of various types. Suggestions for additional links are welcome, however please note that we only list open source projects here. Commercial applications can provide case studies if they want to show their support for POI.
Apache Tika is a toolkit which detects and extracts metadata and text from over a thousand different file types.
Apache Drill is a toolkit that allows the use of SQL querying on numerous file and data formats. The POI support is in the excel-format-plugin.
Apache Hop is a data orchestration and data engineering platform. The POI support is in the excelinput transform and the excelwriter transform.
Apache DolphinScheduler is a distributed and easy-to-extend visual workflow scheduler system. The POI support is in the alert email component.
Worksheet plugin for JSPWiki
There is a Worksheet plugin for JSPWiki which allows you to display contents of Excel files as a table in JSPWiki.
Apache incubating projects
Apache Linkis (incubating) is a computation middleware layer. The linkis-storage component has an Excel read capability built using Apache Poi.
Apache Seatunnel (incubating) is a high-performance, distributed, massive data integration framework. The seatunnel-connector-spark-email component uses Apache Poi.
Apache ODF Toolkit (retired)
Apache ODF Toolkit (incubating) is a set of Java modules that allow programmatic creation, scanning and manipulation of OpenDocument Format (ISO/IEC 26300 == ODF) documents. See also new website.
Apache Corinthia (retired)
Apache Corinthia (incubating) is a toolkit/application written in C++ for converting between and editing common office file formats, with an initial focus on word processing.
Jackcess is a pure Java library for reading from and writing to MS Access databases available under Apache License 2.0.
poi-mail-merge is a small tool to automate mail-merges, i.e. replacing strings in a template Microsoft Word file multiple times with data from a list of replacements provided as Excel/CSV data. Available under the BSD 2-Clause License.
Merged into POI as of version 3.14
poi-visio is a Java library that loads Visio OOXML (vsdx) files and creates an in-memory data structure that allows full access to the contents of the document. There is built-in support for easily traversing the content of the document in a structured way, and can render pages to simplified PNG files, or other backends supported by Java AWT. Currently, the library only operates in read-only mode, but its design does not exclude being able to modify existing documents or creating new documents. Available under the Apache License, Version 2.0.
poi-visio-graph is a Java library that loads Visio OOXML (vsdx) files using the poi-visio library and creates an in-memory graph structure from the objects present on the page. It utilizes user-specified connection points and also performs analysis to infer logical visual connection points between the objects on each page. One possible use of this library is to create a network diagram from a Visio document. Available under the Apache License, Version 2.0.
NPOI is a .NET version of Apache POI available under Apache License 2.0.
Vaadin Spreadsheet is a UI component add-on for Vaadin 7 which provides means to view and edit Excel spreadsheets in Vaadin applications. Available under the Commercial Vaadin Add-on License version 3 (CVALv3).
Excel module for Apache Isis
Excel module for Apache Isis is an add on for Apache Isis and provides a domain service so that a collection of (view model) object scan be exported to an Excel spreadsheet, or recreated by importing from Excel. Available under the Apache License, Version 2.0.
Excel Streaming Reader
Excel Streaming Reader uses the POI Streaming API to provide Row/Cell like read-access to large Excel spreadsheets. Available under the Apache License, Version 2.0.
Forked Version that supports the latest POI versions. Has support for a number of extra features, including Strict OOXML files. Also, available under the Apache License, Version 2.0.
fastexcel is a benchmarked library for reading and writing Excel files. Available under the Apache License, Version 2.0.
poi-shared-strings is a memory efficient Shared Strings Table and Comments Table implementation for POI streaming. Available under the Apache License, Version 2.0.
The Wordinator abstracts the general problem of mapping from XML (or any similar structured content--with XSLT 3 you could just as easily process JSON content or some other format) to word processing data through a relatively simple XML structure, the Simple Word Processing Markup Language (SWPX), which is basically OOXML simplified way down. Available under the Apache License, Version 2.0.
POI-TL is a Word template engine that generates new documents based on a Word template and data. Available under the Apache License, Version 2.0.
XDocReport is a Java API to merge XML document created with MS Office (docx) or OpenOffice (odt), LibreOffice (odt) with a Java model to generate report and convert it if you need to another format (PDF, XHTML...). XDocReport code is license under MIT license but the samples are licensed under LGPL license.
Frosted Sheets is a Groovy library which provides decorators for Apache POI spreadsheets, making it easier to work with spreadsheets in Groovy. Frosted Sheets is license under the Apache License, Version 2.0.
iEXL is a commercial product which allows you to generate Excel spreadsheets on AS/400, iSeries, i5 or IBM i on Power systems. It uses Apache POI internally.
jotlmsg is a simple API (on top of POI) to easily generate Microsoft Outlook message files (.msg).
HadoopOffice allows you to read and write Office documents while using the Hadoop ecosystem. Available under the Apache License, Version 2.0.
Scala POI Wrapper
SPOIWO allows you to read and write Office documents using Scala friendly APIs. Available under the MIT License.
Spark Excel allows you to read and write Excel documents into/from Spark Dataframes. Available under the Apache License, Version 2.0.
ExcelUtil is a Java wrapper using Apache POI to read and write Excel files in declarative fashion. Available under the Apache License, Version 2.0.
dev-excel is a Java wrapper using Apache POI to read and write Excel files. Available under the MIT License.