Apache Fesod is a lightweight Java library that wraps Apache POI to provide a streaming API for reading and writing large Excel files. Its core identity is a low-memory spreadsheet processor that prevents out-of-memory errors by handling data row by row, never loading an entire document into memory at once.
The library distinguishes itself through a listener-driven event model that fires row-level events to user code as each row is parsed, enabling incremental processing. It also includes an object mapping layer that maps spreadsheet rows directly to Java objects using configurable column mappings, and a low-memory write pipeline that writes spreadsheet data incrementally to disk without building the full document in memory. A temporary file cache stores partially processed data to avoid re-reading the same file region multiple times.
The library supports both reading and writing Excel files, with capabilities for streaming cell data, processing spreadsheets with hundreds of thousands of rows, and creating Excel documents from Java object collections with custom column mappings and sheet names. Its documentation covers installation and usage through standard Java library distribution channels.