idc_OCR函数
函数名:sfz_OCR / idc_OCR
函数功能
对身份证图片进行OCR识别,提取身份证信息。支持多种数据显示模式,方便在Excel中查看和处理身份证数据。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
imgPath | String | 是 | "C:\\images\\idcard.jpg" | 身份证图片的完整文件路径 |
displayMode | Int | 否 | 1 | 显示模式:1=横向(默认),2=纵向,3=原始JSON字符串 |
使用案例
横向显示身份证信息(默认)
问题描述:识别身份证图片,横向一行显示所有字段 公式演示:
excel
=idc_OCR("C:\\images\\idcard.jpg")输出效果:
| 姓名 | 性别 | 民族 | 出生日期 | 住址 | 身份证号 |
|---|
纵向显示身份证信息
问题描述:识别身份证图片,纵向一列显示所有字段 公式演示:
excel
=idc_OCR("C:\\images\\idcard.jpg", 2)输出效果:
| 字段 | 值 |
|---|---|
| 姓名 | 张三 |
| 性别 | 男 |
| 民族 | 汉 |
| 出生日期 | 1990-01-01 |
| 住址 | 北京市... |
原始JSON字符串输出
问题描述:获取身份证识别的原始JSON结果 公式演示:
excel
=idc_OCR("C:\\images\\idcard.jpg", 3)输出效果:
json
{
"name": "张三",
"sex": "男",
"nation": "汉",
"birth": "1990-01-01",
"address": "北京市...",
"idcard": "110101199001011234"
}错误处理示例
问题描述:文件路径为空或文件不存在 公式演示:
excel
=idc_OCR("")输出效果:
text
文件路径不能为空excel
=idc_OCR("C:\\images\\nofile.jpg")输出效果:
text
文件不存在技术说明
显示模式说明
- 模式1(横向):结果以一行多列数组形式返回,方便横向填充身份证字段。
- 模式2(纵向):结果以多行一列数组返回,适合纵向查看字段和值。
- 模式3(原始):仅返回OCR结果的原始JSON字符串,单元格显示。
异常处理
| 错误场景 | 返回值 |
|---|---|
| 空文件路径 | "文件路径不能为空" |
| 文件不存在 | "文件不存在" |
| 其他异常 | "处理错误: 错误信息" |
依赖说明
函数依赖底层OCR引擎返回JSON数据,内部方法GetRawOCRResult实现图片识别,FormatAsHorizontalTable和FormatAsVerticalTable负责数据格式转换。
扩展应用
批量身份证识别
结合Excel批量文件路径,批量调用本函数进行身份证信息提取和整理。
结合VBA或Power Query自动化
可在宏或Power Query中调用,实现身份证批量核验和数据清洗。
注:本函数仅支持本地图片路径,需确保路径正确且文件可访问。测试通过于WPS 2019+和Excel 365。