在跨行业的数据处理场景中,把 CSV、PDF 中的数据导入 Excel 是最常见也最容易出错的环节——财务核对银行导出的 CSV 流水,电商整理多平台导出的订单文件,行政处理供应商发来的 PDF 对账单。这些文件的格式五花八门:CSV 分隔符不统一、字段内含有逗号、日期以各种形式出现、手机号、身份证号等以 0 开头的编号被默认当作数字处理而丢失前导零;PDF 表格无法直接编辑,复制到 Excel 后行、列、合并单元格全部错位。
传统做法通常是手工分列、逐列设置格式、靠眼睛寻找错误单元格。一个几百行的 CSV 往往要花上半小时反复调整;PDF 表格更是只能逐行复制粘贴。传统方式还容易出现分列错位、日期串位、数字变文本等隐患,一旦数据量增大,人工处理几乎不可行。
以财务核对银行流水为例,拿到 CSV 后往往要经历:先用文本编辑器确认编码 → 在 Excel 中分列 → 逐列设置日期与金额格式 → 肉眼排查异常值。字段内含逗号会导致整行串位,以 0 开头的账号被吞掉前导零,几经周折才能得到一份可用的表格。PDF 对账单更是只能逐行复制粘贴,行、列、合并单元格几乎全部错位,还原一份往往要耗费小半天。
对比传统 SDK API 处理
| 传统 Spire.Office for .NET API | Spire.Agent.Office 处理 | |
|---|---|---|
| 驱动方式 | 编写分列、类型转换、格式判断代码,控制每一步处理 | 用自然语言描述目标,AI 理解后自动编排执行路径 |
| 代码量 | 数据导入场景通常需要 500-1000 行 C# 代码(含解析器、类型转换、错误检测等) | 约 10 行调用代码 + 一条自然语言指令 |
| 分隔符与引号 | 需手写解析逻辑处理引号内逗号、转义字符等边界情况 | AI 自动识别分隔符与引号包裹字段,智能分列 |
| 类型识别 | 需按列硬编码日期/数字/文本的识别规则,规则变动需改代码 | AI 理解数据类型语义,自动识别日期、数字、文本 |
| 错误检测 | 需编写正则和条件判断逐格校验,错误类型覆盖不全 | AI 自动识别类型不匹配、列数不符等异常并标红 |
| 需求变更 | 新增一种 CSV 变体需改代码 → 编译 → 部署 | 修改指令中的描述,即刻生效 |
本文介绍如何使用 Spire.Agent.Office 的 Excel AI 能力,分别实现 CSV 智能分列导入与 PDF 表格导入,自动完成数据类型识别与错误格式标红,仅需一条自然语言指令。
有关产品安装和 SpireToken 配置,请参考 在 .NET 项目中集成 Spire.Agent.Office。以下示例默认已安装 Spire.Agent.Office 并完成 SpireToken 配置。
CSV 智能分列导入
CSV 是数据交换中最常见的格式,但也是最"不可控"的格式:分隔符可能是逗号、制表符或分号;字段内可能包含被引号包裹的逗号或换行;日期、数字、文本混杂在同一张表中;手机号、编码等以 0 开头的编号会被默认当作数字处理而丢失前导零。导入质量直接决定后续分析与报表的准确性。
以下示例使用 Spire.Agent.Office 智能体,通过自然语言指令自动导入 CSV,完成智能分列、数据类型识别与错误格式标红:
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Xls;
// 待导入的 CSV 源文件(作为附件传入)
string[] attachmentPaths = new string[] { @"C:\DataImport\员工销售数据.csv" };
// 导入结果文档保存路径
string savePath = @"C:\DataImport\ToXLSX.xlsx";
// SpireToken Key(需在官网页面申请)
string key = "sk-TF***************************r";
// 自然语言指令
string instruction = "请按以下步骤处理:\n" +
"1. 将附件CSV文件转为Excel文档并添加合适的格式来提高可读性\n" +
"2. 将文件中的日期/销售额/电话号码格式进行统一\n" +
"3. 用红色背景标记错误和缺失的数据";
// AI 生成
AIResult result = ImportCsvData(instruction, savePath, key, attachmentPaths);
// AI 辅助 CSV 导入
static AIResult ImportCsvData(string instruction, string savePath, string key, string[] attachmentPaths)
{
// 设置 AI 处理选项
AIOptions options = new AIOptions();
options.SpireToken = key;
using (Workbook wb = new Workbook())
{
AIDocumentProcessor processor = wb.AI(options);
return processor.ExecuteInstruction(wb, instruction, savePath, attachmentPaths);
}
}
原始 CSV 数据和智能分列导入结果

PDF 表格导入 Excel
PDF 是分发和归档的通用格式,但其中的表格数据无法直接编辑:复制到 Excel 后行列错位、合并单元格丢失、数字与日期被当成文本。当供应商、银行或政府机构以 PDF 交付报表时,将 PDF 中的表格数据准确还原为可编辑的 Excel 数据,是从固定版式文档走向电子化处理的必经一步。
以下示例使用 Spire.Agent.Office 智能体,通过自然语言指令将 PDF 中的表格数据自动提取并写入 Excel:
using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Xls;
// 待导入的 PDF 源文件(作为附件传入)
string[] attachmentPaths = new string[] { @"C:\DataImport\采购订单.pdf" };
// 导入结果文档保存路径
string savePath = @"C:\DataImport\采购订单数据.xlsx";
// SpireToken Key
string key = "sk-TF***************************r";
// 自然语言指令
string instruction =
"请按以下步骤处理:\n" +
"1. 将附件PDF文件转为Excel文档并添加合适的格式来提高可读性\n" +
"2. 将文件中的日期/销售额/电话号码格式进行统一\n" +
"3. 用红色背景标记错误和缺失的数据";
// AI 生成
AIResult result = ImportPdfData(instruction, savePath, key, attachmentPaths);
// AI 辅助 PDF 导入
static AIResult ImportPdfData(string instruction, string savePath, string key, string[] attachmentPaths)
{
// 设置 AI 处理选项
AIOptions options = new AIOptions();
options.SpireToken = key;
using (Workbook wb = new Workbook())
{
AIDocumentProcessor processor = wb.AI(options);
return processor.ExecuteInstruction(wb, instruction, savePath, attachmentPaths);
}
}
原始 PDF 数据和提取到 Excel 的表格数据

常见问题
CSV 分隔符不统一 / 字段内含逗号导致分列错位
原因:CSV 分隔符可能是分号、制表符,或字段内包含被引号包裹的逗号、换行,自动分列时整行串位。
解决:在指令中说明分隔符,或让 AI 自动识别并正确处理引号包裹的字段。
以 0 开头的编号丢失前导零
原因:手机号、身份证号、账号等以 0 开头的值被当作数值类型导入,前导零被吞掉。
解决:在指令中指定"手机号、证件号等列为文本,保留前导零"。
获取 SpireToken Key
- 联系 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 或访问 https://www.e-iceblue.com/TemLicense.html 获得试用/商业 API 密钥
在代码中配置:
AIOptions options = new AIOptions();
options.SpireToken = key;







