C# 中的 AI 驱动 Excel 审核:检测错误和数据异常
C# 中的 AI 驱动 Excel 审核:检测错误和数据异常
Excel 工作簿中可能包含缺失值、重复记录、异常数字和不一致的公式。尤其是在处理大型数据集时,这些问题很难通过人工检查发现。
借助 AI Agent,可以通过自然语言审核指令识别这些问题,而不必完全依赖硬编码的验证规则。本文将介绍如何在 C# 中使用 Spire.Agent.Office 审核 Excel 工作簿,识别潜在的数据和公式问题,高亮显示可疑单元格,并生成结构化的审计报告。
1. 什么是 AI 驱动的 Excel 审核?
传统的 Excel 审核通常依赖预先定义的验证规则、公式或自定义代码。例如,程序可以检查必填单元格是否为空、某个值是否超过固定阈值,或者某一列中是否存在重复 ID。
AI 驱动的 Excel 审核在这一过程中加入了上下文分析能力。你不必在代码中定义每一种可能的条件,而是可以用自然语言描述审核要求,让 AI Agent 检查工作簿中的数据模式和不一致之处。
例如,可以指示 AI Agent 检查:
- 缺失或不完整的数据
- 重复或可疑的记录
- 异常数值或离群值
- 不一致的数据模式
- 缺失的公式
- 与相邻行明显不同的公式
- 可疑的计算结果或单元格引用
这种方法特别适合发现难以用简单固定规则表达的问题。某个数值可能位于允许范围内,但与周围记录相比仍然显得异常;某个公式也可能返回有效结果,但其模式却与相邻单元格不同。
AI 生成的审核发现通常应被视为潜在问题,而不是已经确认的错误。随后可以在工作簿中高亮显示这些发现,并将其汇总到审计报告中,供用户进一步检查。
2. 设置 C# 项目
创建一个新的 C# 控制台应用程序,并将所需的 Spire.Agent.Office 包添加到项目中。
本示例使用以下命名空间:
1 | using Spire.Agent.Office.AI; |
访问 AI 功能需要有效的 Spire Token。你可以 联系我们 获取临时测试 Token。
基本配置如下:
1 | AIOptions options = new AIOptions(); |
下面的示例使用名为以下名称的 Excel 工作簿:
1 | SalesData.xlsx |
该工作簿可以包含一个或多个工作表,其中包含销售记录、公式、日期、数量、价格、折扣或其他业务数据。
3. 准备用于审核的 Excel 工作簿
第一步是使用 Workbook 加载工作簿。
1 | Workbook workbook = new Workbook(); |
由于工作簿会被直接传递给支持 AI 的文档处理器,因此无需手动将每个工作表、单元格值或公式转换为纯文本。
Agent 可以将电子表格作为结构化的 Office 文档进行处理,并检查以下信息:
- 工作表内容
- 单元格值
- 公式
- 行和列
- 数据模式
- 相邻单元格之间的关系
例如,销售工作表可能包含如下数据:
| 订单编号 | 日期 | 产品 | 数量 | 单价 | 折扣 | 总计 |
|---|---|---|---|---|---|---|
| ORD-1001 | 2026-08-01 | 笔记本电脑 | 2 | 850 | 0.10 | 1530 |
| ORD-1002 | 2026-08-02 | 显示器 | 5 | 260 | 0.05 | 1235 |
| ORD-1003 | 2026-08-03 | 键盘 | 10 | 45 | 0.10 | 405 |
| ORD-1004 | 2026-08-04 | 笔记本电脑 | 3 | 850 | 0.80 | 510 |
最后一行可能需要重点检查,因为 80% 的折扣明显不同于周围记录。
其他潜在问题还可能包括重复的订单编号、缺失的日期、异常数量,或者与相邻行所用公式不同的公式。
4. 构建用于审核 Excel 工作簿的 AI Agent
整个工作流的核心是定义审核任务。
无需针对每一种可能的错误分别编写 C# 条件,可以通过自然语言指令描述审核要求。
定义审核规则和指令
例如:
1 | string instruction = @" |
该指令同时定义了 Agent 应检查的内容以及 结果的呈现方式。
这样做很有用,因为电子表格审核通常依赖上下文。数值 80 在某一列中可能完全正常,但在另一列中却可能明显异常。Agent 可以结合周围记录和数据含义来评估该数值。
分析数据和公式模式
加载工作簿并配置 AI 选项后,从工作簿创建 AI 文档处理器:
1 | AIDocumentProcessor processor = workbook.AI(options); |
然后将审核指令发送给 Agent:
1 | processor.ExecuteInstruction( |
因此,完整的核心代码非常简洁:
1 | using Spire.Agent.Office.AI; |
与传统的 Excel 验证程序相比,大部分审核逻辑都通过指令表达,而不需要编写一长串 if 语句。
返回结构化的审核结果
明确告诉 Agent 应如何组织审核结果非常重要。
例如:
1 | 工作表 | 单元格 | 问题 | 说明 |
生成的审计报告可能如下所示:
| 工作表 | 单元格 | 问题类型 | 说明 |
|---|---|---|---|
| 销售数据 | F5 | 异常值 | 80% 的折扣明显高于周围记录。 |
| 销售数据 | A12 | 重复记录 | 该订单编号还出现在另一行中。 |
| 销售数据 | B18 | 缺失值 | 订单日期为空。 |
| 销售数据 | G24 | 公式不一致 | 该公式与相邻行使用的公式模式不同。 |
结构化结果不仅使审核内容更容易查看,还可以用于后续的自动化处理。
5. 高亮显示检测到的问题并生成审计报告
仅返回电子表格问题的文本说明固然有用,但如果将发现的问题写回工作簿,审核结果会更容易查看。
可以通过指令要求 Agent 执行两个操作:
1 | string outputInstruction = @" |
这样会产生两个层面的输出:在原始工作表中高亮显示发现的问题,以及生成一份包含详细说明的集中式报告。
查看原始工作表中高亮显示的问题
在原始工作表中,Agent 会高亮显示包含潜在问题的单元格。同一类型的问题使用相同的高亮颜色,使用户能够更快地区分缺失值、重复记录、异常数字、不一致的数据和公式相关问题。
图 1:原始工作表中高亮显示的潜在问题。同一类型的问题使用相同的颜色。
在此示例中,Agent 识别出了多种问题,包括 G6 中异常偏高的折扣、E10 中的数量离群值、B17 中缺失的订单日期、F23 中的负数单价,以及“总计”列中的公式相关问题。
通过将发现的问题写回原始位置,Agent 使用户能够结合上下文检查可疑值,而无需手动搜索这些值。
查看详细的审计报告
除了高亮显示源数据外,Agent 还会创建一个“审计报告”工作表,其中列出每项发现所涉及的单元格、问题类型和说明。
图 2:生成的审计报告提供每个检测到的问题的位置、类型和说明。
报告包含缺失值、重复订单编号、异常数值、不一致的数据模式、缺失的公式以及可疑的计算结果等发现。
例如,Agent 检测到:
A8和A13包含相同的订单编号。G6包含 80% 的折扣,该折扣明显高于其他折扣。H13包含一个硬编码值,而不是相邻行所使用的公式模式。H19在应用折扣时使用了加法而不是减法。H30生成的总计与预期计算结果不符。
当某个单元格涉及多个审核维度时,它可能会在报告中出现多次。例如,H25 既可以被报告为缺失值,也可以被报告为缺失公式。
AI 生成的发现应被视为潜在问题,而不是已经确认的错误。某些异常值可能是合理的业务例外。因此,高亮显示的工作表和审计报告为人工审核提供了结构化起点,而不是自动更改底层数据。
6. AI 驱动 Excel 审核的最佳实践
将 AI 审核与明确的审核要求结合使用,通常可以取得更好的效果。
首先,应在指令中提供足够的上下文。不要只要求 Agent“查找错误”,而应明确需要关注的问题类型,例如重复记录、异常值、缺失公式或不一致的计算。
其次,应区分确定性规则和上下文分析。诸如“数量不得为负数”这样的条件可以通过传统规则可靠地检查。AI 更适合识别与周围记录相比显得不一致的数值,或者发现意外的公式模式。
第三,不要要求 Agent 自动更正检测到的每个问题。可疑值并不一定是错误值。高亮显示单元格并说明原因,可以让用户在修改之前核实相关发现。
对于大型工作簿,还可以将审核范围限定在特定工作表或特定问题类别。这可以使任务更加集中,并减少不必要的处理。
最后,应采用结构化的输出。包含工作表、单元格位置、问题类型和说明,可以使 AI 生成的发现更容易验证并集成到后续工作流中。
7. 总结
电子表格审核并不只是检查单元格是否为空或公式是否返回错误。许多问题只有在综合考虑数值、公式及周围数据模式时才会显现。
借助 AI Agent SDK,可以使用自然语言描述这些审核要求,而不必完全通过硬编码的验证规则来实现。
在 C# 中使用 Spire.Agent.Office 时,整个工作流可以保持相对简单:加载 Excel 工作簿、定义审核要求、执行指令,然后生成一个新工作簿,其中包含高亮显示的问题和结构化的审计报告。
这种方法特别适合检测潜在异常、不一致的公式、重复记录、缺失信息,以及其他可能需要上下文分析的电子表格问题。
8. 常见问题
AI 能否检测 Excel 中的错误公式?
AI 可以识别与相邻公式不一致、包含可疑引用,或者生成结果与预期数据模式不符的公式。但是,公式在逻辑上是否正确可能取决于工作簿背后的业务规则,因此仍应检查检测到的问题。
审核规则可以自定义吗?
可以。审核要求主要通过发送给 Agent 的指令进行定义。你可以针对特定列、工作表、数值范围、公式或业务条件添加规则。
例如:
1 | "标记折扣超过 50% 以及客户 ID 缺失的订单。" |
AI 能否检测 Excel 中的重复记录?
可以。可以指示 Agent 根据一个或多个字段识别重复 ID、重复行或可能重复的记录。
为了更加确定地检测重复项,还可以将传统的 Excel 或 C# 逻辑与 AI 审核结合使用。
AI 能否自动修复检测到的错误?
可以指示 Agent 修改工作簿内容,但通常不建议自动更正检测到的每个异常。某些异常值可能是有效的业务例外。
更安全的工作流是高亮显示可疑单元格、说明标记原因,并让用户在应用更正之前检查相关发现。
同一种方法可以用于不同类型的 Excel 文件吗?
可以。同一种工作流可以应用于销售报告、财务电子表格、库存记录、运营报告、调查数据以及其他结构化 Excel 工作簿。在大多数情况下,只需根据具体数据和业务规则调整审核指令即可。







