Skip to content

批量处理案例

本页面展示了灵析表格在批量处理场景中的典型应用。通过将函数与 Excel 的填充功能结合,可以轻松实现大批量数据的自动化处理。

函数名说明

本文示例使用英文函数名(如 f_Rename),适用于所有语言版本。如安装的是中文版,请将函数名替换为对应的中文名(如 f_重命名)。各函数的中英文名称对照请参考对应函数文档。


案例 1:文件批量重命名

场景描述

需要将文件夹中的大量文件按照统一规则重命名,例如添加前缀、修改扩展名或按对照表批量重命名。

使用函数

函数名(英文)函数名(中文)功能
f_GetListf_获取文件列表获取文件夹下所有文件列表
f_Extensionf_文件扩展名获取文件扩展名
f_Namef_获取文件名获取文件名(不含扩展名)
f_Renamef_重命名执行文件重命名

操作示例

获取文件列表

首先获取目标文件夹中的所有文件:

excel
=f_GetList("C:\Photos", TRUE, "*.jpg")

该公式会返回所有 JPG 文件的完整路径列表,溢出到相邻单元格。

单个文件重命名

excel
=f_Rename("C:\files\old.txt", "new.txt")

新文件名只需包含文件名和扩展名,函数会自动保留原文件所在目录。

按规则批量重命名

在 Excel 中建立文件名对照表,A 列为原始文件路径,B 列为新文件名:

A 列(原始路径)B 列(新文件名)
C:\Photos\IMG_001.jpg照片_001.jpg
C:\Photos\IMG_002.jpg照片_002.jpg

在 C 列输入重命名公式并向下填充:

excel
=f_Rename(A2, B2)

动态生成新文件名

如果需要按规则自动生成新文件名,可以结合 Excel 内置函数:

excel
=f_Rename(A2, "照片_" & TEXT(ROW()-1, "000") & f_Extension(A2))

该公式自动拼接「照片_」前缀、行号和原文件扩展名。

批量处理技巧

  1. 使用 f_GetList 一次性获取所有文件路径
  2. 在相邻列编写新文件名公式
  3. 选中公式单元格,双击右下角填充柄向下填充
  4. 所有重命名操作一次性执行完成

案例 2:文本批量处理

场景描述

需要批量处理大量文本数据,如统一格式、去除特殊字符、批量替换、批量提取等。

使用函数

函数名(英文)函数名(中文)功能
str_Replacewb_文本替换批量替换文本内容
str_RegexExtractwb_正则提取按正则表达式提取内容
str_RegexReplacewb_正则替换按正则表达式替换内容
str_Trimwb_去首尾空格去除首尾空白字符
str_Concatwb_文本连接连接多个文本

操作示例

批量去除空格和特殊字符

excel
=str_Trim(str_Replace(A2, " ", ""))

该公式先去除所有空格,再去除首尾空白字符。

批量替换全角符号为半角

excel
=str_Replace(A2, ";|,|。", ";|,|.")

str_Replace 支持用 | 分隔多个查找内容,一次性替换多个字符。

正则提取手机号

excel
=str_RegexExtract(A2, "1[3-9]\d{9}", FALSE)

纵向输出所有匹配的手机号。第三个参数 FALSE 表示纵向输出。

正则替换手机号中间四位

excel
=str_RegexReplace(A2, "(\d{3})\d{4}(\d{4})", "$1****$2")

使用分组引用 $1$2 保留前 3 位和后 4 位,中间 4 位替换为 ****

批量添加前后缀

excel
="【" & A2 & "】"

使用 Excel 内置的文本连接运算符 & 即可实现。

批量处理技巧

  1. 在第一行输入处理公式
  2. 选中单元格,双击右下角填充柄
  3. 整列数据自动处理完成
  4. 可使用「选择性粘贴 → 值」将公式结果转为静态文本

案例 3:图片格式批量转换

场景描述

需要将大量图片从一种格式转换为另一种格式,例如将 JPG 转为 PNG。

使用函数

函数名(英文)函数名(中文)功能
img_Convimg_图片转换图片格式转换

格式代码对照

代码格式
1BMP
2JPG
3GIF
4TIFF
5PNG

操作示例

单张图片格式转换

将 JPG 转为 PNG:

excel
=img_Conv("C:\images\photo.jpg", 5, "C:\images\photo.png")

第二个参数 5 表示目标格式为 PNG,第三个参数为保存路径。

批量转换

在 Excel 中建立转换清单:

A 列(源文件路径)B 列(目标文件路径)
C:\images\file1.jpgC:\images\file1.png
C:\images\file2.jpgC:\images\file2.png

在 C 列输入公式并向下填充:

excel
=img_Conv(A2, 5, B2)

案例 4:文件夹批量创建

场景描述

需要批量创建文件夹,如按月份、按部门创建目录结构。

使用函数

函数名(英文)函数名(中文)功能
f_CreateDirf_创建目录创建文件夹(自动创建父级目录)

操作示例

按月份批量创建

excel
=f_CreateDir("C:\2025\01")
=f_CreateDir("C:\2025\02")
=f_CreateDir("C:\2025\03")

按部门批量创建

A 列为部门名称,B 列输入公式:

excel
=f_CreateDir("C:\公司\" & A2)

向下填充即可批量创建所有部门文件夹。

创建嵌套目录

f_CreateDir 会自动创建路径中所有不存在的父级目录:

excel
=f_CreateDir("C:\2025\销售部\第一季度")

按日期动态创建

excel
=f_CreateDir("C:\Data\" & TEXT(TODAY(), "yyyyMMdd"))

每天打开文件即可自动创建当天日期对应的文件夹。


案例 5:批量数据校验

场景描述

需要批量校验数据合法性,如手机号、身份证号、邮箱等。

使用函数

函数名(英文)函数名(中文)功能
idc_Checksfz_校验身份证身份证号合法性校验
str_RegexExtractwb_正则提取正则表达式格式验证

操作示例

批量校验身份证

excel
=idc_Check(A2)

返回 合法不合法

结合 IF 函数输出更友好的结果:

excel
=IF(idc_Check(A2)="合法", "有效", "无效")

批量校验手机号

excel
=IF(str_RegexExtract(A2, "1[3-9]\d{9}", TRUE)=A2, "有效", "无效")

批量校验邮箱

excel
=IF(str_RegexExtract(A2, "[\w\.]+@[\w\.]+", TRUE)=A2, "有效", "无效")

校验模板示例

A 列(数据)B 列(类型)C 列(校验公式)C 列(结果)
13800138000手机号=IF(str_RegexExtract(A2,"1[3-9]\d{9}",TRUE)=A2,"有效","无效")有效
11010519900307283X身份证=idc_Check(A3)合法
test@email.com邮箱=IF(str_RegexExtract(A4,"[\w\.]+@[\w\.]+",TRUE)=A4,"有效","无效")有效

案例 6:自动化数据备份

场景描述

需要定期备份数据文件到指定位置,并按日期命名备份文件。

使用函数

函数名(英文)函数名(中文)功能
f_Copyf_复制文件复制文件
f_GetListf_获取文件列表获取文件列表
f_ModificationTimef_文件修改时间获取文件最后修改时间

操作示例

备份单个文件

excel
=f_Copy("C:\data\important.xlsx", "D:\backup\important_backup.xlsx")

按日期自动命名备份

excel
=f_Copy("C:\data\report.xlsx", "D:\backup\report_" & TEXT(TODAY(),"YYYYMMDD") & ".xlsx")

仅备份更新过的文件

通过比较源文件和备份文件的修改时间,判断是否需要备份:

excel
=IF(f_ModificationTime("C:\data\report.xlsx") > f_ModificationTime("D:\backup\report.xlsx"), f_Copy("C:\data\report.xlsx", "D:\backup\report.xlsx", TRUE), "无需备份")

第三个参数 TRUE 表示覆盖已存在的同名文件。

自动化建议

配合 Windows 任务计划程序实现无人值守备份:

  1. 在 Excel 中编写备份公式
  2. 使用任务计划程序定时打开该 Excel 文件
  3. 文件打开时自动执行公式计算,完成备份

案例 7:数据导入导出

场景描述

需要在 Excel 文件、CSV 文件和数据库之间批量导入导出数据。

使用函数

函数名(英文)函数名(中文)功能
f_Readf_读取文本文件读取文本/CSV 文件内容
f_Writef_写入文本文件写入文本到文件
json_JsonToTablejson_Json转表格JSON 数据转表格
json_TableToJsonjson_表格转Json表格数据转 JSON
mysql_selectmysql_select数据库查询

操作示例

读取 CSV 文件内容

excel
=f_Read("C:\data\sales.csv")

将数据写入文件

excel
=f_Write("C:\export\output.txt", A2, FALSE)

第三个参数 FALSE 表示覆盖写入,TRUE 表示追加写入。

数据库数据导出为文件

excel
=f_Write("C:\export\orders.csv", mysql_select("orders", "*", "status='completed'", "order_date DESC"))

表格数据转为 JSON

excel
=json_TableToJson(A1:D100)

将包含标题行的表格区域转换为 JSON 数组字符串。


相关函数文档


返回使用案例 | 数据分析案例 | 财务处理案例

基于源代码最新版本文档