View spreadsheets in various formats including XLSX, XLS, CSV, ODS.
Go to file
2026-02-02 23:42:55 -05:00
.vscode feat: commands to disable/enable viewer; re-validation on file edit 2026-01-12 17:35:30 -05:00
asset logo updated 2026-01-25 11:06:43 -05:00
img new logo reverted was not feeling it 2026-02-02 23:42:55 -05:00
src fix: issue:4 2026-01-15 21:51:29 -05:00
.gitignore first commit 2025-05-14 12:19:47 -04:00
.npmrc first commit 2025-05-14 12:19:47 -04:00
.vscode-test.mjs first commit 2025-05-14 12:19:47 -04:00
.vscodeignore ignored assets when bundeling 2026-01-25 11:19:41 -05:00
CHANGELOG.md fix: issue:4 2026-01-15 21:51:29 -05:00
eslint.config.mjs first commit 2025-05-14 12:19:47 -04:00
LICENSE feat: commands to disable/enable viewer; re-validation on file edit 2026-01-12 17:35:30 -05:00
package.json new logo reverted was not feeling it 2026-02-02 23:42:55 -05:00
pnpm-lock.yaml fix: ensure version compatibility with Cursor and Windsurf editors 2025-05-15 13:19:14 -04:00
README.md new logo reverted was not feeling it 2026-02-02 23:42:55 -05:00
tsconfig.json first commit 2025-05-14 12:19:47 -04:00
vsc-extension-quickstart.md first commit 2025-05-14 12:19:47 -04:00
webpack.config.js chore: excluded asset dir from being bundled 2026-01-25 11:14:26 -05:00

SheetJS VSCode Extension

Visual Studio Marketplace Version Visual Studio Marketplace Rating

View on Marketplace Visual Studio Marketplace Downloads

View on Open VSX Open VSX Downloads


SheetJS VSCode Extension Preview

SpreadSheet Viewer

Powered by SheetJS a powerful VSCode extension that lets you view spreadsheets right in your editor. Works with XLSX, XLS, CSV, ODS and 30+ other formats.

Key Features

  • Caches workbooks and sheets to avoid re-parsing files
  • Loads sheets on-demand when switching between them
  • Automatically reloads when files are edited externally
  • Handles mega large files with pagination
  • Toggle viewer on/off for specific file extensions via command palette or context menu

Supported File Formats

Supported File Formats

formats formats formats
.xlsx .prn .wk4
.xlsm .et .123
.xlsb .ods .wq1
.xls .fods .wq2
.xlw .uos .wb1
.xlr .dbf .wb2
.numbers .wk1 .wb3
.csv .wk3 .qpw
.dif .wks .xlr
.slk .wk2 .eth
.sylk

Usage

Disabling/Enabling the Viewer

You can easily disable the SheetJS viewer for specific file extensions:

SheetJS VSCode Extension Preview SheetJS VSCode Extension Preview

Command Palette (Ctrl/Cmd+Shift+P):

  • SheetJS: Disable Viewer for Current File Extension - Switches to default text editor for that extension
  • SheetJS: Enable Viewer for Current File Extension - Re-enables the viewer

Context Menu: Right-click any spreadsheet file in the Explorer to access the same commands.

Built-in VSCode: Right-click any file and select "Open With..." to choose between SheetJS Viewer and other editors.

Override Constants (Available Settings)

  • sheetjs.maxRows - Rows displayed per page (default: 1000)
  • sheetjs.maxColumns - Columns displayed (default: 100)
  • sheetjs.maxCachedWorkbooks - Workbooks kept in memory (default: 10)
  • sheetjs.maxCachedSheets - Sheet pages cached (default: 255)

Changes take effect when opening a new spreadsheet file (existing open files need to be reopened)

Getting Started

Want to integrate SheetJS in your own VSCode extension? Check out our detailed tutorial to learn how to implement these capabilities in your projects.

Why even make this?

Fair question. I view spreadsheets constantly at work—XLSX, XLS, CSV, ODS, you name it. The existing options were inadequate:

Microsoft Excel: Bulky. Takes several seconds to open multi-megabyte files. Overkill for just viewing data.

Other VSCode extensions: Tried them all. Common problems:

  • Can't open older XLS formats and refuse to read large files
  • Consume 500MB+ RAM for a few-megabyte file
  • Ship a full Excel-like editing experience nobody asked for

My requirements were simple:

  1. Open any spreadsheet format instantly
  2. Display the actual data representation
  3. Reflect external edits immediately
  4. Not destroy my RAM

Extensions shouldn't replicate Excel or some other tool. They should let you quickly iterate and validate data in context. That's what this does.

other_extensions_refuses_to_open_file other_extension_600MB_ram_usage

Mine 😊

mine_easy_open_large_files mine_less_ram_usage

Development

To run the extension in development mode, install dependencies with pnpm install and press F5 in VSCode. This opens a new Extension Development Host window where you can test the extension by opening any spreadsheet file.

Build for production with pnpm run package.

Publishing

npx vsce login foo
npx vsce publish

Learn More

For more information on using this extension and integrating SheetJS capabilities in your own projects, visit our documentation.


Created by Asadbek Karimov | contact@asadk.dev | asadk.dev