
syncfusion-javascript-spreadsheet-editor
Use this skill for JavaScript apps needing Excel-like UI using the Syncfusion Spreadsheet Component. Trigger for creating, viewing, editing Excel (.xlsx, .xls, .xlsb) and CSV files; embedding spreadsheet editors; data binding from APIs/JSON; using formulas, charts, validation, filtering, or conditional formatting. Also trigger when users reference spreadsheet files ("open xlsx", "load Excel file", "add Syncfusion spreadsheet", "bind data to spreadsheet"). Do NOT trigger for standalone file processing without UI components.
- Installs
- 88
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/spreadsheet-editor-sdk-skills --skill syncfusion-javascript-spreadsheet-editor- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-javascript-spreadsheet-editor automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Syncfusion JavaScript Spreadsheet Editor
Overview
This skill helps developers generate TypeScript code for integrating the Syncfusion Spreadsheet Editor into their JavaScript applications. It provides ready-to-use code snippets, API guidance, and best practices for building Excel-like functionality in JavaScript (ES6) projects.
Key Capabilities
- File Operations: Import/export Excel files (
xlsx,xls,xlsb), CSV files, and PDF export - Data Management: Data binding, editing, sorting, filtering, and validation
- Cell Operations: Formatting (fonts, colors, borders, alignment), merge cells, wrap text
- Formulas & Calculations: Built-in Excel formulas, custom functions, named ranges
- Collaboration: Notes, comments, and threaded discussions
- Advanced Features: Charts, images, hyperlinks, conditional formatting, freeze panes, sheet protection, virtualization for large datasets
Quick Start Examples
Example 1: Generate Spreadsheet with Formatting
User: "Create a Spreadsheet with data and apply cell styles"
Result: A TypeScript code snippet is generated that loads provided data into the Spreadsheet and applies basic cell formatting.
Example 2: Generate Code for Loading a File
User: "Create a Spreadsheet and load an Excel file initially"
Result: A TypeScript code snippet is generated that initializes the Spreadsheet and programmatically opens an Excel file on startup.
Getting Started — Minimal JavaScript (ES6) Code
Minimal JavaScript (ES6) setup for a plain web project:
import { Spreadsheet } from '@syncfusion/ej2-spreadsheet';
const spreadsheet = new Spreadsheet({
sheets: [{ rows: [{ cells: [{ value: 'Hello, Spreadsheet!' }] }] }],
created: () => {
// All post-initialization code goes here
}
});
spreadsheet.appendTo('#spreadsheet');
Placeholders:
#spreadsheet— HTML element ID where the component renderssheets— array of sheet objects with data
Generate TypeScript Code for the User's Project
Trigger keywords: "javascript spreadsheet", "spreadsheet editor", "syncfusion spreadsheet", "excel component", "load excel file", "open excel file", "import excel", "export excel file", "save excel", "export to pdf", "export to csv", "view excel", "configure spreadsheet", "create spreadsheet", "add spreadsheet", "spreadsheet data", "cell formatting", "apply formulas", "insert chart", "data binding", "spreadsheet validation", "freeze panes", "protect sheet"
Workflow:
-
Identify the requested Spreadsheet feature (data binding, formulas, charts, export, etc.).
-
Read the relevant
references/*.mdfile(s) to understand the APIs and code patterns for the requested feature.- For create, initialize, render, package setup, CSS setup, or basic Spreadsheet requests, read
references/getting-started.mdfirst.
- For create, initialize, render, package setup, CSS setup, or basic Spreadsheet requests, read
-
STOP before generating code, installing packages, creating files, or modifying project files. Check if the user has already chosen a delivery mode.
-
If no delivery mode is chosen yet, you MUST ask the user first using this concise multiple-choice question:
"How would you like to receive the generated Spreadsheet code?"
- Option 1: Replace the code in a specific project file (you'll need to provide the file path and confirm)
- Option 2: Save the code in this skill's output folder at
{skill-root}/syncfusion-javascript-spreadsheet-editor/output/app.ts - Option 3: Share the code directly in the chat window
-
If the user selects Option 1, validate the provided project file/folder path before generating or replacing code.
- If the provided path is an existing JavaScript/TypeScript project and contains
package.json, continue with the previous behavior. - If the provided path is an empty folder or does not contain a JavaScript/TypeScript project, do not edit files and do not end the chat.
- Explain that a JavaScript/TypeScript project is required before replacing project files.
- Ask whether the user wants to set up/install a JavaScript/TypeScript project first using
references/getting-started.md. - Do not create project files, install packages, or run setup commands automatically unless the user explicitly confirms.
- If the provided path is an existing JavaScript/TypeScript project and contains
-
Only after the user selects a delivery mode and Option 1 path validation is complete, proceed to generate TypeScript code using the APIs and snippets from
references/*.md, substituting concrete placeholders from the user's project. -
Scope implementations within the
createdevent handler — All code implementations should be placed within the Spreadsheet'screatedevent unless the user explicitly requests a different event handler (e.g.,beforeSave,cellSave, etc.). -
Do NOT make changes to workspace project files unless the user explicitly chose Option 1, provided a valid JavaScript/TypeScript project file/folder path, and gave permission.
-
If no JavaScript/TypeScript project or
package.jsonis detected, explain that a JavaScript/TypeScript project is required first and provide setup guidance fromreferences/getting-started.md. Do not create project files, install packages, or run setup commands automatically unless the user explicitly requested JavaScript/TypeScript project creation and provided permission. -
Create a new JavaScript/TypeScript application/project only when the user explicitly asks for it, such as:
- "create a JavaScript application and render Spreadsheet"
- "create a TypeScript app with Spreadsheet"
- "create a Webpack/TypeScript app and add Spreadsheet"
If the user only asks to create, add, render, or configure the Spreadsheet control, do not scaffold a new JavaScript/TypeScript application. Treat it as Spreadsheet control/code generation for an existing project.
11. When generating code for an existing JavaScript/TypeScript project, include required package and CSS setup guidance from references/getting-started.md.
12. Provide complete TypeScript snippets and concise integration steps after delivering the code.
Refer to ## Rules section for operational constraints (output directory, temporary files, allowed libraries, etc.)
Code References
All code snippets and examples are in the references/ folder. Each file contains:
- Minimal TypeScript Code — a working, ready-to-use snippet
- Placeholders — values the user must customize
- Notes — TypeScript best practices and constraints
| File | Topic |
|---|---|
| getting-started.md | Project setup, package installation, CSS references, basic rendering, and initial data binding |
| data-binding.md | Local arrays, JSON, remote (DataManager) |
| formulas.md | Formulas, aggregates, named ranges |
| formatting.md | Cell formatting, borders, wrap text |
| rich-text-formatting.md | Rich text segments, mixed styles, subscript/superscript |
| number-formatting.md | Number formatting, decimals, currency, date |
| conditional-formatting.md | Rules, highlights based on conditions, formula-based rules |
| data-validation.md | Validation rules, invalid highlights |
| sorting-filtering.md | Sorting, filtering |
| find-replace.md | Find, replace |
| import-export.md | Save (XLSX/CSV/PDF), open, openFromJson |
| charts.md | Insert, edit, delete charts |
| images.md | Insert, modify pictures |
| hyperlink.md | Add, remove hyperlinks |
| comments.md | Threaded comments, replies, resolve threads |
| notes.md | Simple cell notes, sticky visibility, add/edit/delete |
| protection.md | Sheet protection, cell locking, permissions |
| edit-cell.md | startEdit, endEdit, updateCell, edit modes |
| freeze-panes.md | Freeze rows/columns, split panes |
| row-column.md | Insert, delete, resize rows/columns, hide |
| merge-cells.md | Merge, unmerge cells, spanning |
| print.md | Page setup, headers/footers, scaling, margins |
| misc-operations.md | Autofill, clear, sheet management, goTo |
| clipboard.md | Copy, cut, paste with different paste types |
| selection.md | Select cells/ranges, multi-select, getSelectedRange |
| scrolling-virtualization.md | Virtual scrolling, large datasets, performance |
| wrap.md | Text wrapping, multi-line display, row height |
| defined-names.md | Named ranges, define names, refersTo format |
| custom-functions.md | Custom calculation functions, addCustomFunction |
| ribbon-customization.md | Ribbon tabs, toolbar items, file menu customization |
| context-menu.md | Right-click context menu, contextMenuBeforeOpen |
| localization.md | Multi-language, locale, RTL, number/date formats |
| events.md | Event handling, event properties, event patterns |
| autofill.md | Autofill patterns, fill types, series |
| collaborative-editing.md | Real-time collaborative editing, shared workbook synchronization, presence indicators |
Key Rules for Code Generation (TypeScript-first)
-
TypeScript-first snippets — All examples and snippets must be written in TypeScript and compile with the current
@syncfusion/ej2-spreadsheetnpm package. -
No inline code in this manifest — Refer to
references/*.mdfor runnable snippets; keep this file as the concise policy and index. -
Default event scoping — All implementations must be placed within the Spreadsheet's
createdevent handler unless the user explicitly requests implementation in another event (e.g.,beforeSave,cellSave, etc.). This ensures all operations occur after the Spreadsheet component is fully initialized. -
Reference file requirements — Each reference must include:
- Minimal TypeScript Code (complete, runnable)
- Placeholders (clearly marked values to replace)
- Notes (TypeScript integration steps and best practices)
-
License handling — Do not hardcode license keys; refer users to env variables or project config.
-
Preserve data integrity — Preserve existing formulas, references, and formatting when generating or editing sheets.
-
No hallucinated APIs — Use verified Syncfusion Spreadsheet Editor method names only.
-
Read references first — For any requested feature, always read the relevant
references/*.mdfile(s) first before generating code. -
Build strictly from references — Build TypeScript code strictly from the APIs, methods, properties, events, and snippets found in the reference files. Do NOT invent, guess, or suggest any API, method, property, or event not explicitly present in the reference files.
Rules
- Output files must go in
{skill-root}/syncfusion-javascript-spreadsheet-editor/output/directory when user selects Option 2 - Only use Syncfusion Spreadsheet APIs — never recommend or use alternative spreadsheet libraries (e.g., handsontable, ag-grid, luckysheet)
- No temporary files — never create temporary scripts, intermediate files, or scaffolding outside the output directory
- TypeScript-only code — all generated code must be valid TypeScript, never generate vanilla JavaScript, jQuery, or framework-specific patterns
- Option 1 path validation: When the user selects Option 1, always validate the provided project file/folder path before editing or replacing files.
- If the path contains an existing JavaScript/TypeScript project with
package.json, continue with the normal code replacement flow. - If the path is empty or does not contain a JavaScript/TypeScript project, do not edit files and do not end the chat.
- You MUST respond with a follow-up question instead of stopping.
- Explain that a JavaScript/TypeScript project is required before replacing project files.
- Ask whether the user wants setup guidance or wants to set up/install a JavaScript/TypeScript project first using
references/getting-started.md. - Do not create project files, install packages, or run setup commands automatically unless the user explicitly confirms.
- If the path contains an existing JavaScript/TypeScript project with
- JavaScript/TypeScript app creation constraint: Create or scaffold a new JavaScript/TypeScript application only when the user explicitly asks for project creation, such as “create a JavaScript application and render Spreadsheet” or “create a Webpack/TypeScript app and add Spreadsheet”. For normal prompts like “create a spreadsheet with data” or “add Spreadsheet”, treat the request as control code generation for an existing JavaScript/TypeScript project.
FAQ
What does the syncfusion-javascript-spreadsheet-editor skill do?
Use this skill for JavaScript apps needing Excel-like UI using the Syncfusion Spreadsheet Component. Trigger for creating, viewing, editing Excel (.xlsx, .xls, .xlsb) and CSV files; embedding spreadsheet editors; data binding from APIs/JSON; using formulas, charts, validation, filtering, or conditional formatting. Also trigger when users reference spreadsheet files ("open xlsx", "load Excel file", "add Syncfusion spreadsheet", "bind data to spreadsheet"). Do NOT trigger for standalone file processing without UI components.
How do I install syncfusion-javascript-spreadsheet-editor?
Run npx skills add https://github.com/syncfusion/spreadsheet-editor-sdk-skills --skill syncfusion-javascript-spreadsheet-editor in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-javascript-spreadsheet-editor/ (personal) or .claude/skills/syncfusion-javascript-spreadsheet-editor/ (project).
Which AI agents can use syncfusion-javascript-spreadsheet-editor?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-javascript-spreadsheet-editor safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-javascript-spreadsheet-editor?
It is published by syncfusion in syncfusion/spreadsheet-editor-sdk-skills. It has 88 recorded installs.
More from syncfusion/spreadsheet-editor-sdk-skills
syncfusion-react-spreadsheet-editor
syncfusion/spreadsheet-editor-sdk-skills
Open the skill to read its SKILL.md instructions.
syncfusion-angular-spreadsheet-editor
syncfusion/spreadsheet-editor-sdk-skills
Open the skill to read its SKILL.md instructions.
syncfusion-blazor-spreadsheet-editor
syncfusion/spreadsheet-editor-sdk-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetcore-spreadsheet-editor
syncfusion/spreadsheet-editor-sdk-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetmvc-spreadsheet-editor
syncfusion/spreadsheet-editor-sdk-skills
Open the skill to read its SKILL.md instructions.
syncfusion-vue-spreadsheet-editor
syncfusion/spreadsheet-editor-sdk-skills
Open the skill to read its SKILL.md instructions.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.