关于 syncfusion-dotnet-excel
使用 Syncfusion Excel Library 创建、编辑和转换 Excel 文件的技能,面向 C# 开发者。它既可依据参考资料生成代码,也可执行 CSX 脚本生成文件。
主要功能
- 01创建和编辑工作簿与工作表
- 02处理公式、图表和格式
- 03以多种格式导入和导出数据
- 04将 Excel 转换为 PDF、JSON 和 CSV
- 05通过密码和权限保护文件
- 06生成 C# 代码或执行 CSX 任务
适用场景
- 01生成 Excel 操作的 C# 示例
- 02直接创建或修改 XLSX 文件
- 03导入数据并导出为其他格式
- 04将工作簿转换为 PDF 或 JSON
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ document-sdk-skills --skill syncfusion-dotnet-excel安装后在 Claude Code 中输入/syncfusion-dotnet-excel确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/auto-fill.mdcell-access-manipulation.mdcell-formatting.mdcell-values.mdchart-to-image.mdcharts.mdcomments.mdconditional-formatting.mdcustom-xml.mddata-validation.mddocument-structure.mddrawing-objects.mdexcel-csv.mdexcel-to-json.mdexcel-to-pdf.mdexport-data.mdfill-series.mdfiltering-advanced.mdfiltering.mdfind-all-replace.mdfind-replace.mdformulas-advanced.mdfreeze-panes.mdhyperlink.mdimport-data-advanced.mdimport-data.mdmacros.mdmarkdown-conversion.mdnuget-packages.md详细介绍
Excel(XLSX / XLS)文档处理
概述
使用 Syncfusion Excel Library 创建、编辑和转换 Excel(.xlsx、.xls)文件。 此技能支持两种运行模式——为用户的项目生成 C# 代码,或通过 CSX 脚本直接执行任务。
主要功能
- 创建与编辑: 工作簿、工作表、单元格、行、列、单元格格式、样式、公式、名称范围、图表、形状、图像、超链接、批注、数据验证、条件格式
- 高级功能: 模板标记和邮件合并、数据绑定(DataTable、集合、对象)、数据透视表、数据透视图、切片器、自动填充、填充序列、假设分析方案、自定义 XML、绘图对象(文本框、复选框、形状)、VBA 宏
- 数据管理: 导入数据(CSV、DataTable、集合、嵌套对象、XML、HTML 表格)、导出数据(范围、表格、命名范围)、使用正则表达式查找/替换、高级筛选(前 10 项、自定义、颜色、图标筛选)、冻结窗格、显示/隐藏行/列/工作表
- 转换: Excel 转 PDF、Excel 转 JSON、Excel 转 CSV(导入/导出)、为 PDF 和图像转换注册自定义字体
- 安全性: 密码加密/解密、文档保护、权限设置
- 页面设置: 页边距、页眉/页脚、打印区域
前提条件
- .NET SDK 8+ 和
dotnet-script:dotnet tool install -g dotnet-script - Syncfusion 许可证:https://www.syncfusion.com/products/communitylicense
快速入门示例
示例 1:生成代码(模式 1)
用户:“演示如何创建带表格的 Excel 工作簿” **结果:**显示 C# 代码片段(不创建文件)
示例 2:执行任务(模式 2)
用户:“创建一个包含销售数据的 Excel 电子表格,保存到 output/report.xlsx” **结果:**在指定路径创建实际文件
两种模式——根据用户意图选择
选择模式前,先推断用户想要完成什么:
模式 1:为用户的项目生成 C# 代码*(默认)*
当用户想查看、编写、审查、重构或修改与 Excel 处理相关的 C# 代码时,使用此模式。
触发关键词:“代码”“代码片段”“如何编写”“Program.cs”“演示给我看”“示例”“代码示例”“为……生成代码”“NuGet”“添加到项目”“集成”“实现”“用法示例”“API 示例”“学习”“教学”“我该如何”“我想要”“我需要”“帮我实现”“库”“包”“ASP.NET”“Blazor”“WPF”“WinForms”“MAUI”“控制台应用”“排序”“排序操作”“已排序”“图表转图像”“导出图表”“将图表作为图像”“超链接”“链接”“多个链接”“查找替换”“替换”“筛选”“筛选操作”“数据透视”“模板”“标记”“公式”“函数”“自定义字体”“字体注册”“FontManager”“缺失字体”。
工作流:
步骤 1 — 检测应用类型并推荐正确的 NuGet 包
-
检查工作区项目文件(
.csproj、web.config、App.config、Startup.cs、Program.cs等),并使用references/nuget-packages.md中的检测信号表来识别应用类型。 -
根据检测到的应用类型,从
references/nuget-packages.md中查找正确的包,并告知用户在生成任何代码之前先安装这些包。
步骤 2 — 仅根据参考文件生成代码
不要编造、猜测或建议参考文件中未明确列出的任何 API、方法、属性、类或命名空间。
- 阅读与所需功能相关的
references/*.md文件 - 严格根据这些文件中的 API 和代码片段编写 C# 代码
- 根据步骤 1 中识别的应用类型,选择正确的代码片段变体:
- Windows 特定应用(WinForms、WPF、.NET Framework Console、ASP.NET MVC4/5、UWP)→ 使用 Windows 特定代码片段
- 跨平台应用(ASP.NET Core、.NET Core/.NET 5+ Console、Blazor、MAUI、Xamarin)→ 使用跨平台 /
.Net.Core代码片段
- 不要创建或运行任何
.csx脚本
模式 2:通过 CSX 脚本执行(不修改项目文件)
仅当用户明确要求执行、生成文件或提供完整产出(例如已完成的 XLSX 文件)时,才使用此模式。
触发关键词:“创建工作簿”“创建 Excel 文件”“生成电子表格”“制作电子表格”“生成文件”“打开”“编辑”“修改”或“更改”.xlsx 文件、“不修改我的项目”“运行 csx 脚本”“只需创建”“帮我构建”“导出到 excel”“另存为”“输出”“结果”“导出”“转换”“变换”“文件路径”,或者用户提供文件路径(例如 output/report.xlsx、~/Documents/sales.xlsx、/tmp/data.xlsx)。
工作流:
步骤 1 — 创建临时 CSX 脚本
- 以
references/template.csx为基础 - 创建于:
{skill-root}/syncfusion-dotnet-excel/scripts/temp-{timestamp}.csx(例如,skill-root=.codestudio/skills) - 使用 Unix 时间戳生成唯一文件名;绝不要在工作区根目录中创建
步骤 2 — 根据参考文件构建脚本
- 不要编造参考文件中未列出的方法或 API
- 阅读相关的
references/*.md文件并提取代码片段 - 替换所有占位内容:文件路径、工作表名称、单元格值、数据、字段名称等
步骤 3 — 执行脚本
- 运行:
dotnet script {skill-root}/syncfusion-dotnet-excel/scripts/temp-{timestamp}.csx - 验证执行是否成功并记录任何错误
步骤 4 — 清理并报告
- 执行后删除临时
.csx文件 - 报告 SUCCESS/ERROR,以及输出文件路径和任何错误消息及其修复方法
代码参考
所有模板和代码片段都位于 references/ 文件夹中:
| 文件 | 内容 |
|---|---|
| nuget-packages.md | 按应用类型划分的 NuGet 包映射(模式 1) |
| template.csx | CSX 脚本的基本结构和许可证注册 |
| document-structure.md | 创建/保存/关闭工作簿,添加/重命名/删除/移动工作表 |
| template-markers.md | 模板标记绑定:变量、DataTable、列表、DataSet |
| cell-formatting.md | 单元格格式、数字格式、样式、自动调整 |
| cell-values.md | 单元格值和操作:设置/读取文本、数字、公式、日期、布尔值,检测类型 |
| cell-access-manipulation.md | 相对访问单元格、不连续区域、迁移区域、前置/从属单元格、清除内容 |
| formulas-advanced.md | 跨工作表引用、数组公式、外部引用、命名区域、计算列、计算模式、公式审核 |
| charts.md | 创建和配置图表 |
| excel-csv.md | 导入/导出 CSV |
| excel-to-json.md | 将工作表或区域转换为 JSON |
| excel-to-pdf.md | 使用渲染器将工作簿转换为 PDF |
| custom-fonts.md | 使用 FontManager 注册 .ttf/.otf 字体,用于 Excel 到 PDF 和 Excel 到图像的转换 |
| export-data.md | 导出表格、区域和命名区域 |
| import-data.md | 将 CSV、DataTable 和其他数据源导入工作表 |
| import-data-advanced.md | 导入 HTML 表格、XML、数组、集合、嵌套集合、DataColumn、DataView、网格控件 |
| data-validation.md | 添加和管理数据验证规则及下拉列表 |
| comments.md | 添加、编辑和移除单元格批注/备注 |
| conditional-formatting.md | 应用条件格式规则和色阶 |
| freeze-panes.md | 冻结行、列、拆分窗格,以及取消冻结工作表区域 |
| show-hide.md | 显示/隐藏行、列、工作表、网格线、标题、选项卡和缩放级别 |
| row-column-insert-delete.md | 插入、删除和移动行与列,并设置格式选项 |
| row-column-sizing.md | 调整行和列的大小、自动调整、分组和分类汇总 |
| auto-fill.md | 在单元格区域中自动填充序列、模式和趋势 |
| fill-series.md | 使用线性、增长、日期时间和自动填充选项填充序列 |
| find-all-replace.md | 按类型查找全部(文本、数字、公式、值、批注),使用选项替换,并支持整个工作簿 |
| filtering-advanced.md | Top10 筛选、自定义条件、组合(文本/日期时间)、动态、颜色、图标筛选、高级筛选 |
| page-setup.md | 页面设置、页边距、页眉/页脚、打印区域 |
| pictures.md | 插入、定位、调整大小、对齐图片和图像,外部链接,SVG 图像 |
| pivot-table.md | 创建和配置数据透视表 |
| pivot-table-advanced.md | 高级数据透视表操作:单元格格式、布局、排序/筛选、分组、计算字段 |
| pivot-chart.md | 根据数据透视表数据创建和配置数据透视图 |
| table-listobject.md | 创建和管理 Excel 表格(ListObjects) |
| what-if-analysis.md | 创建和管理方案,通过假设分析测试输入值 |
| slicer.md | 创建和管理表格切片器,以便通过 UI 进行筛选 |
| security.md | 密码保护、加密和权限设置 |
| drawing-objects.md | 创建和管理绘图对象,包括文本框、复选框、形状和批注 |
| macros.md | 在 Excel 工作簿中创建、编辑和管理 VBA 宏 |
| custom-xml.md | 添加和读取自定义 XML 部件,以便在工作簿中存储任意 XML 数据 |
| worksheet-move-copy.md | 移动和复制工作表、行、列及单元格区域 |
| markdown-conversion.md | 将 Excel 工作簿/工作表转换为 Markdown 格式,并将 Markdown 文件导入 Excel |
规则
- 输出文件放在
./output/目录中 - 临时
.csx脚本必须创建在{skill-root}/syncfusion-dotnet-excel/scripts/中,绝不能放在工作区根目录或客户的scripts/文件夹中 - 使用工作区根目录下
SyncfusionLicense.txt中的许可证密钥,或使用环境变量SYNCFUSION_LICENSE_KEY - 绝不使用 Python 库(例如,openpyxl、pandas)
- 执行后绝不保留临时
.csx文件