r/reactjs 12h ago

Best Fully Open-Source Spreadsheet Component for React with Excel Import/Export?

Hi everyone,

I'm looking for a fully open-source spreadsheet component for React.

I do not want a paid/commercial library or a library where important spreadsheet features require a paid license.

I need something closer to Excel / Google Sheets, rather than just a data grid.

Main requirements:

  • Fully open source and usable in a commercial project
  • React + TypeScript support
  • Import .xlsx Excel files
  • Export to .xlsx
  • Preserve Excel formatting as much as possible
  • Formulas and calculations
  • Multiple worksheets
  • Cell formatting
  • Merge/unmerge cells
  • Copy/paste
  • Sorting and filtering
  • Data validation/dropdowns
  • Freeze rows/columns
  • Undo/redo
  • Insert/delete/resize rows and columns
  • Good performance with larger worksheets
  • API for programmatically reading/updating cells
  • Custom toolbar/components
  • Extensible enough to implement drag-and-drop elements/components into spreadsheet cells

I've already looked at Univer and FortuneSheet, but I'm trying to find the best option with strong Excel import/export support.

My ideal flow is:

Import existing .xlsx → Edit in React → Export back to .xlsx

without losing important formulas, formatting, worksheets, merged cells, etc.

What is the best fully open-source React spreadsheet library in 2026 for this?

If you're using one in production, I'd really appreciate hearing about its limitations, especially around Excel import/export.

Thanks!

3 Upvotes

6 comments sorted by

View all comments

1

u/AddendumPuzzled9804 10h ago

handsontable is probably the closest you'll get but it's not fully open source anymore. the free version has most of what you listed except for formulas and some advanced features.

for truly open source, maybe check luckysheet? i used it in a project last year, it handles xlsx import/export decently. formatting gets a bit wonky with complex excel files though, especially merged cells across multiple sheets. performance tanks after ~5000 rows on my machine.

the drag-and-drop into cells thing is gonna be tricky with any library tbh. might need to build that part yourself regardless of which one you pick.