awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apache avatar

apache/fesod

0
View on GitHub↗
6,062 stars·507 forks·Java·Apache-2.0·1 viewfesod.apache.org↗

Fesod

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.

Features

  • Spreadsheet Streaming Libraries - A lightweight library that wraps Apache POI to stream spreadsheet data and prevent out-of-memory errors.
  • Large Scale Processing - Streams rows from large Excel files one at a time to avoid loading the entire document into memory.
  • Event-Driven Row Parsers - Fires row-level callbacks as each row is parsed, enabling incremental processing without loading the full file.
  • Excel Automation - Provides a streaming API for reading and writing Excel files with configurable column mappings.
  • Excel File Parsers - Reads Excel files row by row without loading the entire document into memory, preventing out-of-memory errors.
  • Streaming Processors - Processes spreadsheets with hundreds of thousands of rows by streaming data instead of loading everything into memory.
  • Spreadsheet Write Pipelines - Writes spreadsheet data incrementally to disk without building the full document in memory.
  • Spreadsheet Row Streaming - Processes Excel files with millions of rows using a listener-based streaming approach for Java applications.
  • Spreadsheet Stream Processing - Reads data from Excel files into Java objects using a listener-based streaming approach for large datasets.
  • Spreadsheet Data Writing - Writes Java object collections to Excel files with support for template sheets and custom data mapping.
  • Low-Memory Writers - Creates Excel documents from Java objects with configurable column mappings while keeping memory usage low.
  • Object Mapping - Maps spreadsheet rows directly to Java objects using configurable column mappings via reflection.

Star history

Star history chart for apache/fesodStar history chart for apache/fesod

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Fesod

Similar open-source projects, ranked by how many features they share with Fesod.
  • monitorjbl/excel-streaming-readermonitorjbl avatar

    monitorjbl/excel-streaming-reader

    974View on GitHub↗

    Excel Streaming Reader is a Java library designed for processing massive spreadsheet files by reading data incrementally. It functions as a memory-efficient parser that prevents system memory exhaustion by avoiding the need to load entire documents into memory at once. The library utilizes an event-driven approach to translate low-level XML parsing events into high-level row and cell objects. By implementing streaming row iteration, it exposes data through a sequential cursor interface that maintains only a small, configurable subset of rows in memory during the extraction process. To suppor

    Java
    View on GitHub↗974
  • alibaba/easyexcelalibaba avatar

    alibaba/easyexcel

    33,703View on GitHub↗

    EasyExcel is a Java processing library designed for reading and writing XLS, XLSX, and CSV files. It functions as a memory-efficient spreadsheet parser, an object-relational mapper that binds spreadsheet columns to Java class fields, and a stream-based exporter for handling high-volume data. The library distinguishes itself through a streaming model that processes large files row-by-row via listeners to prevent heap memory overflow. It also operates as a template engine, allowing the population of predefined spreadsheet files with dynamic data while preserving original layouts and styles. Br

    Javaexceljavajxl
    View on GitHub↗33,703
  • closedxml/closedxmlClosedXML avatar

    ClosedXML/ClosedXML

    5,630View on GitHub↗

    ClosedXML is an open-source .NET spreadsheet library and wrapper used for reading and writing Excel files. It provides an object-oriented interface for manipulating workbook structures and cell data within .xlsx and .xlsm files using the OpenXML standard. The library abstracts the complexity of the OpenXML SDK, allowing developers to generate and modify spreadsheets programmatically without requiring Microsoft Office to be installed on the system. It covers a range of spreadsheet management capabilities, including workbook generation, file loading, and data extraction. The toolset supports p

    C#closedxmlexcelhacktoberfest
    View on GitHub↗5,630
  • box/spoutbox avatar

    box/spout

    4,229View on GitHub↗

    Spout is a spreadsheet file processing library and multi-format generator designed for reading and writing CSV, XLSX, and ODS files. It functions as a stream-based parser that processes large spreadsheet files incrementally to avoid loading entire documents into memory. The library provides capabilities for programmatic spreadsheet generation and data extraction. It supports custom content styling, allowing for the application of fonts, backgrounds, borders, and number formats to individual cells or rows. Beyond basic file input and output, the project covers workbook manipulation through se

    PHPcsvfastmemory-efficient
    View on GitHub↗4,229
See all 30 alternatives to Fesod→

Frequently asked questions

What does apache/fesod do?

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.

What are the main features of apache/fesod?

The main features of apache/fesod are: Spreadsheet Streaming Libraries, Large Scale Processing, Event-Driven Row Parsers, Excel Automation, Excel File Parsers, Streaming Processors, Spreadsheet Write Pipelines, Spreadsheet Row Streaming.

What are some open-source alternatives to apache/fesod?

Open-source alternatives to apache/fesod include: monitorjbl/excel-streaming-reader — Excel Streaming Reader is a Java library designed for processing massive spreadsheet files by reading data… alibaba/easyexcel — EasyExcel is a Java processing library designed for reading and writing XLS, XLSX, and CSV files. It functions as a… closedxml/closedxml — ClosedXML is an open-source .NET spreadsheet library and wrapper used for reading and writing Excel files. It provides… box/spout — Spout is a spreadsheet file processing library and multi-format generator designed for reading and writing CSV, XLSX,… exceljs/exceljs — ExcelJS is a Node.js spreadsheet engine and manipulation library used for reading, writing, and modifying XLSX and CSV… jmcnamara/xlsxwriter — XlsxWriter is a library for generating spreadsheets in the XLSX format, functioning as an Excel workbook writer and…