关于 syncfusion-angular-spreadsheet-editor
面向开发者的技能,用于生成在 Angular 中集成 Syncfusion Spreadsheet Editor 的代码。它提供按功能划分的 API 参考,并在生成代码和修改项目文件时设置约束。
主要功能
- 01生成 Angular 组件代码
- 02Excel、CSV 和 PDF 导入导出指南
- 03数据编辑、公式与验证
- 04单元格格式及表格功能
- 05项目文件修改审批流程
适用场景
- 01在 Angular 应用中添加表格编辑
- 02生成加载或导出表格文件的代码
- 03配置公式、图表或单元格格式
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ spreadsheet-editor-sdk-skills --skill syncfusion-angular-spreadsheet-editor安装后在 Claude Code 中输入/syncfusion-angular-spreadsheet-editor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/autofill.mdcharts.mdclipboard.mdcollaborative-editing.mdcomments.mdconditional-formatting.mdcontext-menu.mdcustom-functions.mddata-binding.mddata-validation.mddefined-names.mdedit-cell.mdevents.mdfind-replace.mdformatting.mdformulas.mdfreeze-panes.mdgetting-started.mdhyperlink.mdimages.mdimport-export.mdlocalization.mdmerge-cells.mdmisc-operations.mdnotes.mdnumber-formatting.mdprint.mdprotection.mdribbon-customization.md详细介绍
Syncfusion Angular 电子表格编辑器
概述
此技能可帮助开发者生成 Angular 代码,以便在应用中集成 Syncfusion 电子表格编辑器。它提供可直接使用的代码片段、API 指南和最佳实践,帮助开发者在 Angular 项目中构建类似 Excel 的功能。
主要功能
- 文件操作: 导入/导出 Excel 文件(
xlsx、xls、xlsb)、CSV 文件,以及导出为 PDF - 数据管理: 数据绑定、编辑、排序、筛选和验证
- 单元格操作: 格式设置(字体、颜色、边框、对齐方式)、合并单元格、自动换行
- 公式与计算: 内置 Excel 公式、自定义函数、命名范围
- 协作: 备注、评论和串联讨论
- 高级功能: 图表、图片、超链接、条件格式、冻结窗格、工作表保护,以及针对大型数据集的虚拟化
快速入门示例
示例 1:生成带格式的电子表格
用户: "创建一个包含数据并应用单元格样式的电子表格"
结果: 生成一个 Angular 组件代码片段,将提供的数据加载到电子表格中,并应用基本的单元格格式。
示例 2:生成加载文件的代码
用户: "创建一个电子表格,并在初始状态下加载 Excel 文件"
结果: 生成一个 Angular 组件代码片段,用于初始化电子表格,并在启动时以编程方式打开 Excel 文件。
入门指南 — 最精简的 Angular 代码
使用 独立组件(Angular 14+)的最简 Angular 配置:
app.ts
import { Component, ViewChild } from '@angular/core';
import { SpreadsheetAllModule, SpreadsheetComponent } from '@syncfusion/ej2-angular-spreadsheet';
@Component({
selector: 'app-root',
standalone: true,
imports: [SpreadsheetAllModule],
template: `
<ejs-spreadsheet #spreadsheet (created)="created()">
<e-sheets>
<e-sheet>
<e-rows>
<e-row>
<e-cells>
<e-cell value="Hello, Spreadsheet!"></e-cell>
</e-cells>
</e-row>
</e-rows>
</e-sheet>
</e-sheets>
</ejs-spreadsheet>
`
})
export class AppComponent {
@ViewChild('spreadsheet') spreadsheet!: SpreadsheetComponent;
created(): void {
// All post-initialization code goes here
}
}
占位符:
#spreadsheet— 组件的 Angular 模板引用变量<e-sheets>— 使用声明式方式定义工作表、行和单元格created()— 在电子表格完全初始化后调用的事件处理程序
注意: 请务必在独立组件的 imports 数组中导入 SpreadsheetAllModule,以确保所有功能正常运行。
为用户的项目生成 Angular 代码
触发关键词: "angular 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"
工作流:
-
确定用户请求的电子表格功能(数据绑定、公式、图表、导出等)。
-
阅读相关的
references/*.md文件,了解所请求功能的 API 和代码模式。- 对于创建、初始化、渲染、软件包配置、CSS 配置或基本电子表格相关请求,请先阅读
references/getting-started.md。
- 对于创建、初始化、渲染、软件包配置、CSS 配置或基本电子表格相关请求,请先阅读
-
在生成代码、安装软件包、创建文件或修改项目文件之前,必须先停止。 检查用户是否已选择交付方式。
-
如果用户尚未选择交付方式,必须先用以下简洁的多选问题询问用户:
"您希望如何接收生成的电子表格代码?"
- 选项 1: 替换特定项目文件中的代码(你需要提供文件路径并确认)
- 选项 2: 将代码保存到此技能的输出文件夹
{skill-root}/syncfusion-angular-spreadsheet-editor/output/app.ts(及相关文件) - 选项 3: 直接在聊天窗口中分享代码
-
如果用户选择 选项 1,请先验证所提供的项目文件/文件夹路径,再生成或替换代码。
- 如果所提供的路径是现有 Angular 项目且包含
package.json,请继续之前的操作。 - 如果所提供的路径是空文件夹或不包含 Angular 项目,请勿编辑文件,也不要结束聊天。
- 说明替换项目文件前需要有 Angular 项目。
- 询问用户是否要先使用
references/getting-started.md设置/安装 Angular。 - 除非用户明确确认,否则不要创建项目文件、安装软件包或自动运行设置命令。
- 如果所提供的路径是现有 Angular 项目且包含
-
只有在用户选择交付方式且选项 1 的路径验证完成后,才能使用
references/*.md中的 API 和代码片段生成 Angular 代码,并将具体占位内容替换为用户项目中的实际值。 -
将实现限定在
created事件处理程序中 —— 所有代码实现都应放在 Spreadsheet 的created事件中,除非用户明确要求使用其他事件处理程序(例如beforeSave、cellSave等)。 -
除非用户明确选择选项 1、提供有效的 Angular 项目文件/文件夹路径并给予许可,否则不得更改工作区项目文件。
-
如果未检测到 Angular 项目或
package.json,请说明需要先有 Angular 项目,并提供references/getting-started.md中的设置指南。除非用户明确要求创建 Angular 应用并给予许可,否则不要创建项目文件、安装软件包或自动运行设置命令。 -
仅当用户明确要求时,才创建新的 Angular 应用/项目,例如:
- “创建一个 Angular 应用并渲染 Spreadsheet”
- “使用 Spreadsheet 创建一个新的 Angular 应用”
- “创建 Angular 应用并添加 Spreadsheet”
- “从头开始设置 Spreadsheet 应用”
如果用户仅要求创建、添加、渲染或配置 Spreadsheet 组件,请勿搭建新的 Angular 应用。应将其视为针对现有 Angular 项目的 Spreadsheet 组件/代码生成请求。
11. 为现有 Angular 项目生成代码时,请提供 references/getting-started.md 中关于所需软件包和 CSS 的设置指南。
12. 交付代码后,请提供完整的 Angular 代码片段和简洁的集成步骤。
操作限制(输出目录、临时文件、允许使用的库等)请参阅 ## Rules 部分。
代码参考
所有代码片段和示例都位于 references/ 文件夹中。每个文件包含:
- 最简 Angular 代码 — 可正常运行、可直接使用的代码片段
- 占位符 — 用户必须自定义的值
- 注意事项 — Angular 最佳实践和限制
| 文件 | 主题 |
|---|---|
| getting-started.md | 项目设置、包安装、CSS 引用、基本渲染和初始数据绑定 |
| data-binding.md | 本地数组、JSON、远程(DataManager) |
| formulas.md | 公式、汇总、命名范围 |
| formatting.md | 单元格格式、边框、文本换行 |
| number-formatting.md | 数字格式、十进制、小数、货币、日期 |
| conditional-formatting.md | 基于条件的规则和突出显示、基于公式的规则 |
| data-validation.md | 验证规则、无效项突出显示 |
| sorting-filtering.md | 排序、筛选 |
| find-replace.md | 查找、替换 |
| import-export.md | 保存(XLSX/CSV/PDF)、打开、openFromJson |
| charts.md | 插入、编辑、删除图表 |
| images.md | 插入、修改图片 |
| hyperlink.md | 添加、移除超链接 |
| comments.md | 线程式评论、回复、解决评论线程 |
| notes.md | 简单的单元格备注、便笺显示状态、添加/编辑/删除 |
| collaborative-editing.md | 实时协作编辑、共享工作簿同步、在线状态指示器 |
| protection.md | 工作表保护、单元格锁定、权限 |
| edit-cell.md | startEdit、endEdit、updateCell、编辑模式 |
| freeze-panes.md | 冻结行/列、拆分窗格 |
| row-column.md | 插入、删除、调整行/列大小、隐藏 |
| merge-cells.md | 合并、取消合并单元格、跨单元格显示 |
| print.md | 页面设置、页眉/页脚、缩放、页边距 |
| misc-operations.md | 自动填充、清除、工作表管理、goTo |
| clipboard.md | 使用不同的粘贴类型进行复制、剪切、粘贴 |
| selection.md | 选择单元格/区域、多选、getSelectedRange |
| scrolling-virtualization.md | 虚拟滚动、大型数据集、性能 |
| wrap.md | 文本换行、多行显示、行高 |
| defined-names.md | 命名范围、定义名称、refersTo 格式 |
| custom-functions.md | 自定义计算函数、addCustomFunction |
| ribbon-customization.md | 功能区选项卡、工具栏项、文件菜单自定义 |
| context-menu.md | 右键快捷菜单、contextMenuBeforeOpen |
| localization.md | 多语言、本地化区域、RTL、数字/日期格式 |
| events.md | 事件处理、事件属性、事件模式 |
| autofill.md | 自动填充模式、填充类型、序列 |
| rich-text-formatting.md | 富文本片段、混合样式、下标/上标 |
代码生成关键规则(Angular 优先)
-
Angular 优先的代码片段 — 所有示例和代码片段都必须使用 Angular(TypeScript 和内联模板)编写,并且能够通过当前的
@syncfusion/ej2-angular-spreadsheetnpm 包编译。 -
本清单中不包含内联代码 — 可运行的代码片段请参阅
references/*.md;此文件仅作为简洁的策略与索引。 -
默认事件作用域 — 除非用户明确要求在其他事件(例如
beforeSave、cellSave等)中实现,否则所有实现都必须放在 Spreadsheet 的created事件处理程序中。这样可确保所有操作都在 Spreadsheet 组件完全初始化后执行。 -
独立组件 — 始终在组件中使用
standalone: true和imports数组。绝不生成基于NgModule、app.module.ts或app.component.css的代码。 -
参考文件要求 — 每个参考文件必须包含:
- 最简 Angular 代码(完整且可运行的独立组件,带内联模板)
- 占位符(明确标出需要替换的值)
- 说明(Angular 集成步骤和最佳实践)
-
许可证处理 — 不要硬编码许可证密钥;请引导用户通过环境变量或项目配置提供密钥。
-
保持数据完整性 — 生成或编辑工作表时,保留现有公式、引用和格式。
-
不得臆造 API — 仅使用已验证的 Syncfusion Spreadsheet Editor 方法名称。
-
先阅读参考文件 — 对于用户请求的任何功能,在生成代码前始终先阅读相关的
references/*.md文件。 -
严格依据参考文件编写代码 — Angular 代码必须严格依据参考文件中列出的 API、方法、属性、事件和代码片段编写。不要臆造、猜测或建议参考文件中未明确列出的任何 API、方法、属性或事件。
规则
- 用户选择 Option 2 时,输出文件必须放入
{skill-root}/syncfusion-angular-spreadsheet-editor/output/目录。 - 仅使用 Syncfusion Spreadsheet API — 绝不推荐或使用其他电子表格库(例如 handsontable、ag-grid、luckysheet)。
- 不创建临时文件 — 绝不在输出目录之外创建临时脚本、中间文件或脚手架。
- 仅限 Angular 代码 — 所有生成的代码都必须是有效的 Angular TypeScript,并使用 Angular 模板语法;绝不生成原生 JavaScript、jQuery 或非 Angular 模式的代码。
- Option 1 路径验证: 用户选择 Option 1 时,编辑或替换文件前始终验证提供的项目文件或文件夹路径。
- 如果路径包含带有
package.json的现有 Angular 项目,则按正常流程替换代码。 - 如果路径为空或不包含 Angular 项目,则不要编辑文件,也不要结束对话。
- 必须提出后续问题,而不是直接停止。
- 说明替换项目文件前需要有 Angular 项目。
- 询问用户是需要设置指导,还是希望先使用
references/getting-started.md设置或安装 Angular。 - 除非用户明确确认,否则不要创建项目文件、安装软件包或自动运行设置命令。
- 如果路径包含带有
- Angular 应用创建限制: 仅当用户明确要求创建 Angular 应用或项目时,才创建或搭建新的 Angular 应用,例如“创建 Angular 应用并呈现 Spreadsheet”或“创建 Angular 应用并添加 Spreadsheet”。对于“创建带数据的电子表格”或“添加 Spreadsheet”等常规请求,应将其视为针对现有 Angular 项目生成组件代码。