关于 syncfusion-blazor-spreadsheet-editor
为 Blazor Server 或 WebAssembly 应用生成集成 Syncfusion Blazor Spreadsheet 的 C# 和 Razor 代码。技能根据需求组合参考片段,并在写入文件前征求同意。
主要功能
- 01组合基础示例与功能代码片段
- 02支持单元格编辑、格式和公式
- 03涵盖工作表与数据操作
- 04支持图表及功能区自定义
- 05写入文件前征求用户同意
适用场景
- 01在 Blazor 页面添加电子表格
- 02为指定功能生成集成代码示例
- 03按用户选择输出代码或写入文件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ spreadsheet-editor-sdk-skills --skill syncfusion-blazor-spreadsheet-editor安装后在 Claude Code 中输入/syncfusion-blazor-spreadsheet-editor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/basic-sample.mdcell-range.mdchart.mdclipboard.mdcommon.mdcontextmenu.mdcustom-data.mddata-validation.mdediting.mdfiltering.mdfind-and-replace.mdformatting.mdformula.mdhyperlink.mdmerge.mdopen-save.mdprotection.mdribbon-customization.mdrows-columns.mdselection.mdsorting.mdundo-redo.mdworksheet.md详细介绍
Syncfusion Blazor Spreadsheet Editor
概述
为将 Syncfusion Blazor Spreadsheet 组件集成到 Blazor Server 或 WebAssembly 应用中,生成可用于生产环境的 C# 和 Razor 代码。此技能会生成可直接复制粘贴的代码片段,提供类似 Excel 的功能,包括单元格编辑、格式设置、公式、数据操作和工作表管理。
主要功能
- 数据与绑定: 从
byte[]、本地 JSON 文件、远程 JSON URL 或 Google Drive 加载;通过 Ribbon 保存 - 单元格与区域操作: 通过事件进行编辑、UpdateCell、设置公式、自动填充、区域操作、合并/取消合并单元格、单元格格式设置、数字格式、条件格式
- 行、列与工作表: 插入/调整行和列大小;插入、删除、移动和复制工作表
- 数据操作: 筛选、排序、添加/编辑/移除超链接、剪切/复制/粘贴、选择单元格和区域
- 界面与交互: 隐藏/显示公式栏、隐藏/显示上下文菜单、通过 XlsIO 渲染自定义数据
- 保护与历史记录: 保护/取消保护工作表和工作簿,撤销/重做操作
- 图像: 通过界面插入、调整大小和移动图像(默认启用)
- 图表: 通过
InsertChartAsync/DeleteChartAsync以编程方式在活动工作表中插入和删除图表;通过界面配置移动、调整大小、类型、主题、图例、数据标签、网格线和坐标轴 - Ribbon 自定义: 自定义 Spreadsheet Ribbon(添加/移除/修改 Ribbon 选项卡、组和项目)
快速入门示例
示例 1:显示基本电子表格
用户:“在我的 Blazor 页面中添加一个基本的 Spreadsheet” **结果:**显示 C# + Razor 代码片段(不创建文件)
示例 2:禁用筛选和排序
用户:“创建一个禁用筛选和排序的电子表格”
**结果:**将基本示例与 filtering.md 和 sorting.md 代码片段合并
为用户的项目生成 C# 代码 (默认)
触发关键词:“如何”、“添加电子表格”、“代码示例”、“给我看看”、“示例”、“代码片段”、“集成”、“组件”、“创建示例”、“代码”、“示例代码”、“生成代码”、“实现”、“添加到项目”、“配置电子表格”
步骤 1 - 分析请求并选择代码片段
- 解析用户的意图并确定所需功能。
- 始终以
references/basic-sample.md作为基础。 - 将每项所需功能映射到对应的
references/*.md文件。 - 如果没有匹配的功能关键词,则仅输出基本示例。
步骤 2 - 用户同意与目标位置确认(必须先询问——在用户回复前停在此处)
在生成或写入任何文件之前,询问用户:
I'm ready to generate your Syncfusion Blazor Spreadsheet sample.
Where should I place it?
1) Create a new Razor file in the skill's "output" folder (recommended for quick tryout)
2) Add/modify an existing file in your project (please provide full path; choose append or replace)
Or, say "Just show me the code" to get the snippet here without changing files.
- 在用户明确选择某个选项或说“只给我看代码”之前,不要继续。
- 如果用户拒绝更改文件,只在聊天中输出代码(不创建/修改文件)。
仅针对选项 2: 生成代码前,检查项目是否满足 references/basic-sample.md 中的前置条件(“Prerequisites and Setup Requirements”部分)。如果缺少,请征求用户同意并添加。
步骤 3 - 生成代码(试运行)
通过合并以下内容,在内存中构建代码:
- 基础内容:
references/basic-sample.md - 将匹配的功能代码片段合并到对应锚点:
PROPERTY、EVENTS、BUTTON、API METHOD - 不得编造或修改参考文件中未包含的任何属性、事件或 API
步骤 4 - 应用更改(仅在获得同意后)
选项 A - 在技能文件夹中创建新文件:
- 在技能根目录下创建
output/文件夹,并将文件放入其中 - 默认文件名:
SpreadsheetSample.razor(可通过用户回复进行配置) - 如果文件已存在,请询问:
停止并等待用户决定后再继续。A file named "SpreadsheetSample.razor" already exists. Overwrite, append, or use a different name? - 写入生成的 Razor/C# 内容。
选项 B - 添加到用户的项目文件:
- 询问用户目标文件的完整路径,以及是要追加还是替换
- 如果路径不存在,请询问:
我可以创建此文件。是否继续创建? - 如果要替换,请在写入前创建备份副本(例如
.bak,前提是环境支持) - 根据用户的指示应用更改。
步骤 5 - 报告结果
Done
- Location: {path}
- Action: {created|overwritten|appended}
- Notes: {any warnings or unsupported features}
如果跳过了文件操作,请确认代码仅显示在聊天中。
代码参考
所有模板和功能片段都位于 references/*.md。每个文件都是一个专用片段,Agent 会在生成示例时将其组合起来。
**流程:**始终从 references/basic-sample.md 开始,然后将匹配的功能片段合并到其中的锚点(PROPERTY、EVENTS、BUTTON、API METHOD)。如果没有匹配的功能关键词,则只返回基本示例。
**支持的功能:**编辑、筛选、排序、合并单元格、插入行/列、超链接、剪贴板操作、单元格格式设置、条件格式设置、图表、功能区自定义、打开和保存、选择
| 文件 | 用途 |
|---|---|
| basic-sample.md | 使用 byte[] DataSource 和功能区的最小化 Spreadsheet 示例 |
| open-save.md | 通过功能区打开(byte[]、本地 JSON、远程 JSON URL、Google Drive)和保存(支持的 SaveType 格式:Xlsx、Xls、Csv、Pdf。) |
| worksheet.md | 插入、删除、移动和复制工作表 |
| cell-range.md | 自动填充和区域操作 |
| merge.md | 合并和取消合并单元格 |
| editing.md | 绑定编辑事件、UpdateCell、设置公式 |
| formula.md | 切换公式栏 |
| formatting.md | 数字格式、单元格格式设置和条件格式设置 |
| contextmenu.md | 切换上下文菜单 |
| ribbon-customization.md | 自定义 Spreadsheet 功能区(添加/移除/修改功能区选项卡、组和项目) |
| rows-columns.md | 插入行/列、调整行/列大小 |
| filtering.md | 列筛选 |
| sorting.md | 多列排序 |
| hyperlink.md | 添加和移除超链接 |
| clipboard.md | 剪切、复制、粘贴 |
| selection.md | 单元格和区域选择 |
| undo-redo.md | 撤销和重做操作 |
| protection.md | 工作表和工作簿的保护与取消保护 |
| custom-data.md | 使用 XlsIO 创建自定义数据电子表格 |
| common.md | Height、Width、ID、CssClass、ActiveSheetIndex、Image |
| chart.md | 使用柱形图、条形图、折线图、面积图、饼图、圆环图和散点图可视化单元格数据 |
| data-validation.md | 限制用户可在单元格或区域中输入的内容 |
| find-and-replace.md | 在电子表格中搜索、替换以及导航到单元格或区域 |
规则
-
仅使用参考代码片段
- 生成代码时,只能使用
references/下的 Markdown 文件 - 不得编造、猜测或包含
references/*.md中未提及的任何属性、事件、API 方法、组件名称或参数
- 生成代码时,只能使用
-
UI 交互功能
- 以下功能仅支持 UI 交互,且不提供自定义选项(没有方法、事件或属性):
- 网格线 - 仅可通过 UI 切换显示状态
- 图片 - 仅可通过 UI 插入、调整大小和移动
- 不得为这些功能生成方法、事件或属性
- 只有在
references/*.md文件中明确提及时,才可添加这些功能 - 如果用户要求自定义这些功能,请告知他们:
This feature supports only UI interaction and does not have programmatic customization options in the Blazor Spreadsheet component.
-
不支持的功能处理
- 如果用户请求的功能在
references/*.md中没有对应代码片段,请回复:That feature is not currently supported by the Syncfusion Blazor Spreadsheet component. - 仅当有对应代码片段时,才建议最接近的受支持功能
- 明确列出不支持的项目,且不得为其编写代码
- 如果用户请求的功能在
-
写入前验证
- 写入前重新验证,确保所有代码块均源自
references/*.md文件 - 如果验证失败,请停止并告知用户
- 写入前重新验证,确保所有代码块均源自
-
透明度
- 适用时,在最终报告中加入受支持与不受支持摘要