Excel解析
上传Excel文件,导出文本数据、图片数据
基本信息
| 信息 | 值 | 备注 |
|---|---|---|
| 接口名称 | Excel解析 | 上传Excel文件,导出文本数据、图片数据 |
| 请求状态 | POST | RESTful方式 |
| 接口路径 | http://localhost:23798/api/File/ExcelParser | 向服务器地址发送POST请求 |
| 远程模式 | http://www.linkerplus.com/api/ext_erp/File/ExcelParser | 远程模式向服务器地址发送POST请求,需要ERP注册号注册远程模式,并在Headers添加sn参数 |
| 支持日期 | 2025-10-24 | 自该日期起支持 |
| 支持版本 | V11.2 V12.0 | 自该版本起支持 |
请求参数
Headers
| 参数名称 | 是否必须 | 参数值 | 备注 |
|---|---|---|---|
| Content-Type | 是 | multipart/form-data | 用于指定数据的传输类型 |
| LoginId | 是 | e835943e-55c2-4bf0-832d-6f4166592941 | 用户登录的LoginId,取用户登录或账套验证接口返回的LoginId |
| WorksheetIndex | 是 | 1 | Excel文件工作表索引 |
| UsrNo | 否 | ADMIN | 账套验证的LoginId需添加UsrNo,用户登录的LoginId则无需添加UsrNo |
| sn | 否 | MGR_REST_1001 | 远程模式需添加sn参数,MGR_REST_ERP注册号 |
Body
form-data
| 参数名称 | 类型 | 是否必须 | 参数值 | 备注 | 其它信息 |
|---|---|---|---|---|---|
| file | File | 是 | Excel文件 |
返回数据
| 参数名称 | 类型 | 参数值 | 备注 |
|---|---|---|---|
| Code | number | 0:表示查询成功。详见下方【API Code状态码说明】 | |
| Message | string | 执行信息 | |
| Result | object | 查询到的信息,JSON格式,具体信息参考下面调用范例 |
API Code状态码说明
| 状态码 | 常量名称 | 类别 | 说明 |
|---|---|---|---|
| 0 | SUCCESS | 基础通用 | 成功 |
| 1 | FAILURE | 基础通用 | 通用失败(仅用于无细分状态码的场景) |
| 2 | VERSION_INCOMPATIBLE | 基础通用 | 接口版本不兼容(通用扩展场景) |
| 3 | METHOD_NOT_ALLOWED | 基础通用 | 请求方式不支持(如GET调用POST接口,通用扩展场景) |
| 4 | UNSUPPORTED_MEDIA_TYPE | 基础通用 | 不支持的媒体类型(对应HTTP 415,如客户端传xml但接口仅支持json) |
| 10001 | AUTH_NOT_LOGIN | 认证授权 | 未登录(核心场景:请求无认证信息) |
| 10002 | AUTH_TOKEN_INVALID | 认证授权 | 登录状态失效(核心场景:Token过期/无效) |
| 10003 | AUTH_FORBIDDEN | 认证授权 | 权限不足(核心场景:已登录但无操作权限) |
| 10004 | AUTH_ACCOUNT_LOCKED | 认证授权 | 账号锁定(ERP扩展场景:账号禁用/冻结) |
| 10005 | AUTH_TENANT_ERROR | 认证授权 | 多租户权限异常(ERP扩展场景:跨租户操作数据) |
| 20001 | PARAM_MISSING | 参数校验 | 必要参数缺失(核心场景:如订单无客户ID) |
| 20002 | PARAM_FORMAT_ERROR | 参数校验 | 参数格式错误(核心场景:如日期格式、手机号非法) |
| 20003 | PARAM_INVALID | 参数校验 | 参数值非法(核心场景:格式合法但业务语义错误,如订单金额为负) |
| 20004 | PARAM_OUT_OF_RANGE | 参数校验 | 参数超出范围(ERP扩展场景:如库存数量超出最大限制) |
| 30001 | RESOURCE_NOT_FOUND | 资源操作 | 资源不存在(核心场景:如订单ID不存在) |
| 30002 | RESOURCE_NO_CONTENT | 资源操作 | 资源无内容(核心场景:查询条件合法但无数据) |
| 30003 | RESOURCE_DATA_ERROR | 资源操作 | 资源数据异常(核心场景:如单据数据逻辑冲突) |
| 30004 | RESOURCE_DUPLICATE | 资源操作 | 资源重复(核心场景:如新增已存在的客户编号) |
| 30005 | RESOURCE_STATUS_CONFLICT | 资源操作 | 资源状态冲突(ERP扩展场景:如修改已审核的订单) |
| 30006 | RESOURCE_OPERATE_FAILED | 资源操作 | 资源操作失败(ERP扩展场景:如删除被引用的客户数据等业务错误) |
| 40001 | BUSINESS_NOT_SUPPORTED | 业务逻辑 | 暂不支持的类型 |
| 40002 | BUSINESS_RULE_ERROR | 业务逻辑 | 业务规则校验失败(核心场景:如库存不足、信用额度超支) |
| 40003 | BUSINESS_CONCURRENT_CONFLICT | 业务逻辑 | 并发操作冲突(核心场景:如多人同时修改同一张单据) |
| 40004 | BUSINESS_FLOW_ERROR | 业务逻辑 | 流程状态异常(ERP扩展场景:如单据审核流程驳回) |
| 40005 | BUSINESS_RELATION_ERROR | 业务逻辑 | 数据关联异常(ERP扩展场景:如订单关联的客户已删除) |
| 50001 | SYSTEM_INTERNAL_ERROR | 系统服务 | 系统内部异常(核心场景:如代码异常、数据库连接失败) |
| 50002 | SYSTEM_SERVICE_UNAVAILABLE | 系统服务 | 服务不可用(核心场景:如依赖的第三方接口宕机) |
| 50003 | SYSTEM_REQUEST_TIMEOUT | 系统服务 | 请求超时(核心场景:如ERP大报表生成超时) |
| 50004 | SYSTEM_TOO_MANY_REQUESTS | 系统服务 | 请求频率超限(核心场景:接口限流) |
| 50005 | SYSTEM_DB_ERROR | 系统服务 | 数据库操作异常(ERP扩展场景:如事务回滚、锁等待超时) |
API Code状态码类别说明
- 基础通用段 (0-99):系统基础状态码
- 认证授权段 (1xxxx):用户认证、权限相关
- 参数校验段 (2xxxx):请求参数验证相关
- 资源操作段 (3xxxx):数据CRUD操作相关
- 业务逻辑段 (4xxxx):ERP业务规则相关
- 系统服务段 (5xxxx):系统级、第三方服务异常
调用范例
Headers:
Content-Type: multipart/form-data
LoginId: e835943e-55c2-4bf0-832d-6f4166592941
WorksheetIndex: 1
UsrNo: ADMIN (LoginId为账套验证登录生成时)
Body:
form-data: file = @测试数据.xlsx
调用返回
{
"Code": 0, // 成功
"Message": "[File]: 成功解析 1 张图片和 2 行文本数据。",
"Result": {
"fileName": "测试数据.xlsx",
"imageCount": 1, // 图片数
"textRowCount": 2, // 有数据的文本行数
"mergedImageCount": 1, // 合并单元格内的图片数量
"parseTime": "2025-10-20 14:17:59",
"images": [ // 图片数据
{
"imageName": "ID_351645831CE24FB7A9CECB999F7032C3", // 图片名称
"imageFormat": "png", // 图片格式
"imagePath": "Temp/ExcelImages/ID_351645831CE24FB7A9CECB999F7032C3.png", // 图片本地位置
"worksheetName": "7.25", // Excel工作表名称
"startCell": "C12", // 起始单元格
"endCell": "C13", // 截止单元格
"coveredCells": [ // 图片所在的单元格
"C12",
"C13"
],
"isInMergedCell": true, // 是否是合并单元格
"mergeStartRow": 12, // 合并起始行号
"mergeStartColumn": 3, // 合并起始列号
"mergeEndRow": 15, // 合并截止行号
"mergeEndColumn": 3, // 合并截止列号
"mergeRange": "C12:C15", // 合并范围
"mergeStartCell": "C12", // 合并起始单元格
"mergeEndCell": "C15", // 合并截止单元格
"mergedCoveredCells": [ // 图片所在的单元格(合并),这里表示12-15行,C列,是合并单元格,表示12-15行都有这张图片
"C12",
"C13",
"C14",
"C15"
]
}
],
"textData": [ // 文本数据
{
"rowIndex": 1, // 行号
"cells": [ // 单元格数据
{
"address": "A2",
"value": "客户名称:",
"dataType": "String",
"format": "General",
"isMerged": false,
"mergeRange": ""
},
{
"address": "C2",
"value": "天思",
"dataType": "String",
"format": "General",
"isMerged": false,
"mergeRange": ""
},
{
"address": "D2",
"value": "供方名称:",
"dataType": "String",
"format": "General",
"isMerged": true,
"mergeRange": "D2:E2"
},
{
"address": "F2",
"value": "天心天思",
"dataType": "String",
"format": "General",
"isMerged": true,
"mergeRange": "F2:J2"
}
]
},
{
"rowIndex": 2,
"cells": [
{
"address": "A3",
"value": "联系人:",
"dataType": "String",
"format": "General",
"isMerged": false,
"mergeRange": ""
},
{
"address": "C3",
"value": "蔡总",
"dataType": "String",
"format": "General",
"isMerged": false,
"mergeRange": ""
},
{
"address": "D3",
"value": "联系人:",
"dataType": "String",
"format": "General",
"isMerged": true,
"mergeRange": "D3:E3"
},
{
"address": "F3",
"value": "王杰",
"dataType": "String",
"format": "General",
"isMerged": true,
"mergeRange": "F3:J3"
}
]
}
]
}
}
备注
注意
必须在Headers里面传入用户登录或账套验证的LoginId
提示
当采用的是账套验证获取的LoginId,那么请求头中的UsrNo不能为空。采用用户登录的LoginId则无需在请求头中添加UsrNo