Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Simple Excel EditorNew to Visual Studio Code? Get it now.
Simple Excel Editor

Simple Excel Editor

Nobuyuki Inaba

|
6 installs
| (0) | Free
Edit Excel files directly in VSCode with a spreadsheet-like interface
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Simple Excel Editor

A VS Code extension for editing Excel files (.xlsx / .xlsm) as a spreadsheet directly inside the editor. Designed primarily for creating and editing test data for Java-based DBRider / DBUnit workflows.

Editor Preview


Features

Cell Editing

Double-click any cell to enter edit mode. Press Enter to commit, Escape to cancel, or Tab / Shift+Tab to move to the next/previous cell.

Header Editing

Double-click a header cell to rename the column name inline.

Multi-sheet Support

Click the sheet tabs at the bottom of the editor to switch between sheets.

Row & Column Operations

Use the toolbar buttons to add or delete rows and columns.
To duplicate a selected row, press Ctrl+D — the row is inserted immediately below.

Sorting

Click a column header to sort rows in ascending order. Click again to toggle to descending order.

Search / Filter

Type in the search box on the toolbar to filter rows in real time. The status bar shows how many rows match.

Pagination

Rows are displayed in pages (default: 200 rows per page). Use the ◀ Prev / Next ▶ buttons to navigate.
The page size can be changed in Settings.

Sheet Management

Operation How to perform
Create sheet from rows Select rows → right-click → "Create sheet from selected rows"
Rename sheet Double-click the tab, or right-click → "Rename sheet..." — edit inline, press Enter to confirm or Escape to cancel
Delete sheet Right-click the tab → "Delete sheet" (confirmation dialog shown; cannot delete if only one sheet remains)
Reorder sheets Drag and drop a tab to a new position, or right-click → "← Move left" / "Move right →"

Sheet order is reflected in the saved Excel file.

CSV Support

Operation How to perform
Open CSV directly Open any .csv file with VS Code — it opens in this editor automatically
Import CSV as a new sheet Click "Add CSV" on the toolbar → select a file
Export all sheets to CSV Click "Export CSV" on the toolbar → choose an output folder. A table-ordering.txt is generated automatically. If any {sheet}.csv already exists in the folder, the export is cancelled before writing.

table-ordering.txt

Create a plain text file named table-ordering.txt where each line is a relative path to a CSV file.
Opening this file in VS Code loads all the listed CSV files as individual sheets in a single multi-sheet view.
Lines starting with # are treated as comments and ignored.

Row Grouping

Rows can be grouped using a column whose header is blank (an empty column name).
Enter a value in the format [GroupName] (e.g. [Happy path]) in that column to mark the row as a group header.

  • Click the ▶ Grouped toggle in that row to expand or collapse all rows belonging to that group.
  • Each group is highlighted with a distinct background color.
  • Use the Group filter dropdown in the toolbar to show only a specific group.
  • When adding a new row, the group column value is automatically copied from the selected row.

Enable or disable this feature with simpleExcelEditor.enableRowGrouping in Settings.

Cross-Sheet FK Navigation

When a single cell is selected, the toolbar automatically shows a "→ Navigate in [SheetName]" button if another sheet has a column with the same name.
Clicking the button switches to that sheet and highlights all rows where the column value matches the selected cell.

If multiple sheets have a matching column, a dropdown button appears instead.
Selecting any new cell clears the highlight.

NULL / EMPTY String Distinction

The editor explicitly distinguishes between SQL NULL and an empty string — a key requirement for DBRider / DBUnit datasets.

Type Display Default marker Keyboard shortcut
NULL Red background + NULL label [null] Alt+N
Empty string Teal background + EMPTY label [empty] Alt+E
Blank cell (blank) "" —

The marker strings are configurable via simpleExcelEditor.nullMarkers / simpleExcelEditor.emptyMarkers.

Date Validation

Columns whose name contains date, day, _on, or _at are treated as date columns.
Any cell that does not match the ISO format (yyyy-MM-dd or yyyy-MM-dd HH:mm:ss) is highlighted with a light-red background as a warning.

Column Statistics

Click a column header (or any cell in a column) to select the column.
The status bar at the bottom shows:

column_name: 10 rows | NULL: 2 | Empty: 1 | Unique: 7

Language Support

The UI language can be controlled via the simpleExcelEditor.language setting:

Value Behavior
"auto" (default) Follows the VS Code display language
"en" Always English
"ja" Always Japanese

Changes take effect the next time a file is opened in the editor.

Settings

Click the ⚙ button on the right end of the toolbar, or open the Command Palette and run "Simple Excel Editor: Open Settings".


Requirements

For users (installing from VS Code Marketplace)

  • Visual Studio Code 1.80 or later

No Java, no Node.js, no additional runtime required. Excel I/O is handled by ExcelJS (MIT), which is bundled inside the extension.

Note: .xls (Excel 97–2003 binary format) is not supported. Please use .xlsx or .xlsm.

For developers (building from source)

  • Node.js (v20 or later)

Development Setup

npm install

Open this folder in VS Code and press F5 to launch the Extension Development Host.

# Type-check + bundle (extension host + webview)
npm run compile

# Watch mode (use alongside F5)
npm run watch

# Run unit tests
npm test

# Package as .vsix
npm run package

Settings

Setting Default Description
simpleExcelEditor.nullMarkers ["[null]"] Strings to treat as SQL NULL
simpleExcelEditor.emptyMarkers ["[empty]"] Strings to treat as empty string
simpleExcelEditor.pageSize 200 Number of rows per page
simpleExcelEditor.hasHeader true Treat the first row as a header
simpleExcelEditor.enableRowGrouping true Enable the row grouping feature

Keyboard Shortcuts

Key Action
Alt+N Insert NULL marker into selected cell(s)
Alt+E Insert empty-string marker into selected cell(s)
Ctrl+D Duplicate selected row below
Ctrl+S Save
Escape Cancel edit / clear selection
Tab / Shift+Tab Move to next / previous cell while editing
Enter Commit edit

Project Structure

simple-excel-editor/
├── src/
│   ├── extension.ts            # Entry point
│   ├── ExcelEditorProvider.ts  # Custom editor provider
│   ├── ExcelDocument.ts        # Document model
│   ├── CsvUtils.ts             # CSV parse / serialize
│   ├── excel/
│   │   ├── IExcelIO.ts         # Excel I/O interface
│   │   └── ExcelJsIO.ts        # ExcelJS implementation
│   └── test/
│       └── CsvUtils.test.ts    # Unit tests (Mocha + ts-node)
├── media/
│   ├── editor.js               # Webview UI (bundled by esbuild)
│   └── editor.css              # Styles (VS Code theme variables)
├── tsconfig.json
├── tsconfig.build.json
└── tsconfig.test.json

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft