Open-source spreadsheets software
86 open-source libraries, tools and applications tagged spreadsheets, ranked by how closely spreadsheets is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
86 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| exceljs/exceljs ExcelJS is a Node.js library for reading, manipulating, and writing Excel XLSX workbooks and JSON, including styles, streaming, and CSV sup… | 23 | 15488 | active |
| PhpSpreadsheet PhpSpreadsheet is a pure PHP library providing classes to read and write spreadsheet files in formats such as Excel (.xlsx, .xls), LibreOff… | 93 | 13995 | stable |
| Laravel Excel Laravel Excel (maatwebsite/excel) is a Laravel package providing an elegant wrapper around PhpSpreadsheet for exporting and importing Excel… | 96 | 12704 | stable |
| csvkit csvkit is a suite of Python-based command-line tools for converting to and working with CSV files. It includes utilities like csvcut, csvst… | 75 | 6415 | stable |
| apache/fesod Apache Fesod (Incubating) is a high-performance, memory-efficient Java library for reading and writing spreadsheet files such as xlsx, xls,… | 81 | 6254 | active |
| nissl-lab/npoi NPOI is a .NET library, a port of Apache POI, that reads and writes Office file formats (xls, xlsx, docx) without requiring Microsoft Offic… | 89 | 6195 | active |
| ClosedXML/ClosedXML ClosedXML is a .NET library for reading, manipulating, and writing Excel 2007+ (.xlsx, .xlsm) files. It provides an intuitive, user-friendl… | 82 | 5734 | active |
| andmarti1424/sc-im sc-im is an ncurses-based spreadsheet calculator for the terminal with vim-like keybindings, based on the classic sc. It supports undo/redo… | 66 | 5702 | active |
| unidoc/unioffice UniOffice is a pure Go library for creating, reading, and editing Office Open XML documents: Word (.docx), Excel (.xlsx), and PowerPoint (.… | 93 | 4936 | active |
| jazzband/tablib Tablib is a Python library for working with format-agnostic tabular datasets. It lets you build, filter, and convert tabular data across fo… | 84 | 4760 | stable |
| ExcelDataReader/ExcelDataReader A lightweight and fast C# library for reading Microsoft Excel files (.xlsx, .xlsb, .xls) and CSV files. It provides a low-level reader inte… | 82 | 4421 | stable |
| Node.js CSV A mature monorepo of Node.js and browser packages (csv-generate, csv-parse, stream-transform, csv-stringify) for generating, parsing, trans… | 76 | 4283 | stable |
| haris-musa/excel-mcp-server A Model Context Protocol (MCP) server that lets AI agents create, read, and modify Excel workbooks without Microsoft Excel installed. It su… | 88 | 4245 | active |
| ironcalc/IronCalc IronCalc is an open-source spreadsheet engine written in Rust with xlsx import/export, usable headlessly or embedded via Rust, Python, Java… | 95 | 4217 | active |
| jmcnamara/XlsxWriter XlsxWriter is a Python module for writing files in the Excel 2007+ XLSX format. It supports text, numbers, formulas, charts, formatting, im… | 72 | 3982 | stable |
| Happy-Coding-Clans/vue-easytable A powerful Vue 2.x data table component library that can be used as a data grid, Microsoft Excel, or Google Sheets alternative. It supports… | 23 | 3800 | active |
| ruilisi/fortune-sheet FortuneSheet is a drop-in JavaScript/TypeScript spreadsheet library for React that provides Excel- and Google Sheets-like features out of t… | 59 | 3730 | active |
| mini-software/MiniExcel MiniExcel is a lightweight .NET library (with a Rust variant) for reading and writing Excel XLSX and CSV files using row-by-row streaming t… | 95 | 3628 | active |
| myliang/x-spreadsheet x-spreadsheet is a web-based JavaScript spreadsheet component rendered on canvas, supporting editing, styling, data validation, and xlsx im… | 23 | 14584 | maintenance |
| xlwings/xlwings xlwings is a BSD-licensed Python library that lets you call Python from Excel and automate Excel from Python, replacing VBA macros with Pyt… | 98 | 3412 | active |
| mgcrea/node-xlsx A Node.js library for parsing and building Excel (xlsx/xls) files, built as a convenient wrapper around SheetJS. It offers a simple API to … | 23 | 3036 | stable |
| Roo Roo is a Ruby library that provides read access to common spreadsheet formats including xlsx, xlsm, ods, and CSV, with extensions for xls a… | 66 | 2877 | stable |
| handsontable/hyperformula HyperFormula is an open-source headless spreadsheet engine written in TypeScript that parses and evaluates Excel-compatible spreadsheet for… | 95 | 2812 | active |
| dfinke/ImportExcel A PowerShell module for importing and exporting Excel spreadsheets without requiring Excel to be installed. It supports creating tables, pi… | 63 | 2748 | active |
| tafia/calamine calamine is a pure Rust library for reading and deserializing Excel (xls, xlsx, xlsm, xlsb, xla, xlam) and OpenDocument spreadsheet (ods) f… | 92 | 2438 | stable |
| rap2hpoutre/fast-excel A Laravel package for fast, memory-efficient import and export of Excel (xlsx, ods) and CSV files, built on top of Spout. It converts Eloqu… | 95 | 2375 | active |
| viest/php-ext-xlswriter A high-performance PHP C extension for reading and writing Excel 2007+ XLSX files, with a fixed-memory mode that keeps memory usage constan… | 90 | 2373 | stable |
| maaslalani/sheets Sheets is a terminal-based spreadsheet application written in Go that lets you view, edit, and query CSV files with a vim-style TUI. It sup… | 67 | 2320 | active |
| apache/poi Apache POI is a Java library for reading and writing Microsoft Office documents in both OLE2 binary formats (XLS, DOC, PPT) and Office Open… | 76 | 2277 | stable |
| productdevbook/hucre hucre is a zero-dependency spreadsheet engine written in pure TypeScript that reads and writes XLSX, CSV, ODS, JSON, NDJSON, and XML with s… | 77 | 2194 | active |
| EPPlusSoftware/EPPlus EPPlus is a .NET library for creating, reading, and modifying Office Open XML Excel workbooks (xlsx/xlsm) entirely in managed code, with a … | 98 | 2040 | active |
| nick-keller/react-datasheet-grid A React component library for building Excel/Airtable-like spreadsheet grids with keyboard navigation, copy/paste, and virtualized renderin… | 60 | 2030 | active |
| burnash/gspread A Python client library for the Google Sheets API v4, providing a simple interface to open, read, write, format, and share spreadsheets. It… | 69 | 7507 | maintenance |
| shuchkin/simplexlsx A lightweight PHP library for parsing and retrieving data from Excel XLSX (MS Excel 2007) files with no external extension requirements. It… | 75 | 1829 | active |
| troldal/OpenXLSX OpenXLSX is a C++17 library for reading, writing, creating, and modifying Microsoft Excel .xlsx files. It is built with CMake and integrate… | 73 | 1785 | active |
| dilshod/xlsx2csv A fast Python command-line tool that converts Microsoft Excel XLSX files to CSV format, including support for very large files. It can be i… | 63 | 1779 | stable |
| jmcnamara/libxlsxwriter libxlsxwriter is an ANSI C library for creating Excel 2007+ XLSX files with text, numbers, formulas, hyperlinks, charts, images, and full f… | 69 | 1765 | stable |
| silevis/reactgrid ReactGrid is an open-source React component that adds spreadsheet-like display and editing of tabular data to React applications. It suppor… | 33 | 1663 | active |
| liaochong/myexcel MyExcel is a Java toolkit for importing, exporting, and encrypting Excel files (.xls, .xlsx, .csv) built on top of Apache POI. It uses HTML… | 23 | 1647 | active |
| iddan/react-spreadsheet A simple, customizable, and performant spreadsheet component library for React. It provides a straightforward API for rendering editable gr… | 43 | 1597 | active |
| QtExcel/QXlsx QXlsx is a C++ library for reading and writing Excel (*.xlsx) files, built on the Qt framework. It is the maintained successor to the disco… | 89 | 1523 | active |
| bgreenwell/xleak xleak is a fast terminal-based Excel and spreadsheet viewer built in Rust with ratatui, offering an interactive TUI with full-text search, … | 74 | 1506 | active |
| nadbm/react-datasheet A React component library that renders an Excel-like editable data grid with keyboard navigation, copy/paste, and custom cell renderers. It… | 23 | 5444 | maintenance |
| jmaister/excellentexport ExcellentExport.js is a client-side JavaScript library that exports HTML tables to Excel (XLSX) or CSV files directly in the browser, with … | 89 | 1477 | active |
| spatie/simple-excel A PHP library for reading and writing simple Excel (xlsx) and CSV files with a fluent API. It uses generators and LazyCollections to keep m… | 80 | 1372 | active |
| SmoothCSV SmoothCSV is a cross-platform desktop CSV editor with a spreadsheet-like grid UI, built with Tauri. It offers SQL querying, filtering, sort… | 88 | 1350 | active |
| x2bool/xlite XLite is a SQLite extension written in Rust that exposes Excel (.xlsx, .xls) and Open Document (.ods) spreadsheets as SQLite virtual tables… | 24 | 1303 | active |
| taviso/123elf A native Linux port of Lotus 1-2-3 Release 3, rebuilt from the original UNIX binaries to run directly in the terminal via ncurses. It prese… | 59 | 1294 | active |
| pyexcel/pyexcel pyexcel is a Python library providing a single unified API for reading, manipulating, and writing tabular data across spreadsheet formats i… | 83 | 1292 | active |
| openspout/openspout OpenSpout is a community-maintained PHP library for reading and writing spreadsheet files in CSV, XLSX, and ODS formats. It processes very … | 98 | 1261 | active |
| shuchkin/simplexlsxgen A lightweight PHP library for generating Excel XLSX files from PHP arrays with no external dependencies. It supports data types, formatting… | 65 | 1107 | active |
| negokaz/excel-mcp-server A Model Context Protocol (MCP) server that lets LLM clients read and write Microsoft Excel files (xlsx, xlsm, xltx, xltm). It exposes tools… | 33 | 1032 | active |
| Tablecruncher/tablecruncher Tablecruncher is a lightweight, cross-platform CSV editor built in C++ with FLTK, designed to open and edit very large CSV files quickly. I… | 74 | 1016 | active |
| nhn/tui.grid TOAST UI Grid is a powerful JavaScript data grid component for displaying, editing, adding, and deleting tabular data, with support for tre… | 10 | 2561 | maintenance |
| python-excel/xlrd xlrd is a Python library for reading data and formatting information from legacy Excel .xls files. It no longer supports .xlsx or other new… | 70 | 2206 | maintenance |
| VBA-Web A VBA module providing JSON parsing and conversion for Excel, Access, and other Office applications on Windows and Mac. It converts JSON st… | 23 | 2142 | maintenance |
| dotnetcore/NPOI NPOI is a .NET library for reading and writing Microsoft Office binary (BIFF) and OOXML file formats such as Excel and Word documents. It i… | 10 | 1945 | maintenance |
| Cleveroad/AdaptiveTableLayout An Android library by Cleveroad for reading, editing, and writing CSV files with an adaptive table layout view. It supports fixed headers, … | 32 | 1893 | maintenance |
| mk-j/PHP_XLSXWriter A lightweight PHP library for writing Excel-compatible XLSX (Office 2007+) spreadsheets with minimal memory usage. It supports multiple wor… | 23 | 1866 | maintenance |
| tfussell/xlnt xlnt is a modern C++11+ library for reading, writing, and manipulating XLSX spreadsheet files in memory, following the ECMA-376 standard. I… | 23 | 1649 | maintenance |
| unvell/ReoGrid ReoGrid is an open-source .NET spreadsheet component (MIT Community Edition, V3) that embeds an Excel-like grid into WinForms and WPF appli… | 67 | 1606 | maintenance |
| Mesh Spreadsheet Mesh is a spreadsheet-style UI wrapped around a JavaScript code editor, where grid actions are translated into code changes and vice versa.… | 32 | 1556 | maintenance |
| jakob/TableTool Table Tool is a simple native macOS application for creating, editing, and converting CSV files. It automatically detects CSV format specif… | 23 | 1388 | maintenance |
| natergj/excel4node A Node.js library for programmatically creating native Excel (.xlsx) files with formatting, styles, and multiple worksheets. The original r… | 10 | 1361 | maintenance |
| dbzhang800/QtXlsxWriter QtXlsx is a C++ library for Qt5 that reads, writes, and edits Excel .xlsx files without requiring Microsoft Excel. It works on any platform… | 32 | 1332 | maintenance |
| denisraslov/react-spreadsheet-grid An Excel-like spreadsheet grid component for React with custom cell editors, performant scrolling, and resizable columns. It supports keybo… | 23 | 1174 | maintenance |
| MarcosMeli/FileHelpers FileHelpers is a free, MIT-licensed .NET library for reading and writing strongly typed records from fixed-length or delimited flat files, … | 23 | 1152 | maintenance |
| zdavatz/spreadsheet A Ruby library for reading, writing, and modifying Microsoft Excel (XLS) spreadsheet documents. It is a rewrite of the Spreadsheet::Excel a… | 64 | 1149 | maintenance |
| dtjohnson/xlsx-populate A JavaScript library for parsing and generating Excel XLSX files, usable in both Node.js and the browser. It preserves existing workbook fe… | 23 | 1002 | maintenance |
| Univer Luckysheet is an open-source JavaScript library for embedding an Excel-like online spreadsheet in web applications, built on canvas renderi… | 10 | 16637 | abandoned |
| box/spout Spout is a PHP library for reading and writing spreadsheet files (CSV, XLSX, ODS) using a streaming approach that keeps memory usage under … | 10 | 4227 | abandoned |
| JanKallman/EPPlus EPPlus is a .NET library for reading and writing Excel xlsx files using the Office Open XML format, with no dependencies or Excel interop r… | 10 | 3775 | abandoned |
| jsoma/tabletop Tabletop.js is a zero-dependency JavaScript library that fetches data from published Google Spreadsheets and exposes it as JSON. The projec… | 10 | 3766 | abandoned |
| Axlsx Axlsx is a Ruby library for generating Office Open XML (xlsx) spreadsheet documents with charts, images, styled cells, and schema validatio… | 32 | 2629 | abandoned |
| sutoiku/formula.js A JavaScript library implementing most Microsoft Excel formula functions for use in browsers and Node.js. This repository is deprecated; de… | 32 | 2154 | abandoned |
| bradjasper/ImportJSON A Google Apps Script library that adds ImportJSON functions to Google Sheets, letting users import JSON from any URL directly into spreadsh… | 10 | 2129 | abandoned |
| paulyoder/LinqToExcel A .NET library that lets developers query Excel spreadsheets and CSV files using LINQ syntax, mapping worksheet rows to strongly-typed obje… | 32 | 1055 | abandoned |
| python-excel/xlwt xlwt is a pure Python library for creating spreadsheet files compatible with MS Excel 95-2003 (.xls) format, supporting data, formatting, s… | 10 | 1043 | abandoned |
| Univer Univer is a full-stack, isomorphic TypeScript SDK for building embeddable office applications - spreadsheets, documents, and presentations … | 96 | 22655 | active |
| jspreadsheet/ce Jspreadsheet CE is a lightweight, MIT-licensed JavaScript library for embedding Excel-like interactive data grids and spreadsheet controls … | 67 | 7232 | active |
| AidLux (AidLearning) AidLux (originally AidLearning) is an AIoT development platform that runs a native Ubuntu Linux environment with GUI, deep learning tooling… | 63 | 5812 | active |
| docx4j docx4j is an open-source (Apache v2) Java library for creating, editing, and saving Microsoft OpenXML packages, including Word docx, PowerP… | 77 | 2385 | active |
| weijunext/smart-excel-ai SmartExcel is a web application that generates Excel formulas from natural-language descriptions using the ChatGPT API with streaming respo… | 37 | 1655 | active |
| CoderWanFeng/python-office python-office is a Python office-automation library that wraps PDF, Word, Excel, PPT, image, video, email, WeChat, and OCR operations behin… | 63 | 1358 | active |
| gimite/google-drive-ruby A Ruby library for reading and writing files and spreadsheets in Google Drive and Google Docs. It wraps the Google Drive API with a simple … | 32 | 1777 | maintenance |
| react-csv/react-csv A React component library providing CSVLink and CSVDownload components to generate and download CSV files on the fly from arrays, objects, … | 23 | 1184 | maintenance |
page 1 / 1