Skip to main content


SheetJS is a JavaScript library for reading and writing data from spreadsheets.

JavaScript is a popular language for writing app extensions. Some applications embed the same JavaScript engines used in browsers. Other applications embed purpose-built engines that only support ES3 JavaScript.

With conservative use of modern language features, SheetJS can be used in many app extensions to enable complex data import and export workflows.

Demos for common applications are included in separate pages:

  • Photoshop and InDesign - Share data between spreadsheets and InDesign tables
  • Chrome and Chromium - Export HTML Tables in a Chromium extension
  • Excel JavaScript API - Enhance data import functionality from Excel
  • Google Sheets - Enhance data import functionality from Google Sheets
  • AppleScript and OSA - Integrate spreadsheets in macOS automation scripts
  • Mathematica - Generate Mathematica-compatible CSVs from arbitrary workbooks
  • Stata - Generate Stata-compatible XLSX workbooks from incompatible files
  • MATLAB - Convert between MATLAB tables and spreadsheets
  • Maple - Generate Maple-compatible XLSX workbooks from incompatible files