乐于分享
好东西不私藏

【WPS JSA】提取工作簿工作表目录及表头信息

【WPS JSA】提取工作簿工作表目录及表头信息

大家好,我是宽吻鳄。这里是「宽吻鳄画表勒格记」——专注WPS表格硬核技巧,每期干货,让你的工作效率直线飙升!欢迎关注,咱们一起解锁更多高效技能!

以前,分享了提取工作表目录JSA代码,运行后可以一目了然看清工作簿中有哪些工作表。在这个基础上,我们也可将将工作表中的相关信息都提取出来,用于数据审核或校对文本,避免人工一个一个工作表查看,人工查看时,特别是工作表很多的情况下,有的错误可能看到了但会遗漏,会造成工作的失误。

凡是涉及批量或重复性操作,JSA(JavaScript for Application)宏代码都能帮你一键完成,秒速搞定!今天,重点介绍提取工作簿工作表目录及表头信息,用于校对或审核数据。

来吧,直接上代码。

WPS JSA】代码:

function 提取工作簿工作表目录及表头信息_新建表(){    try {        const workbook = Application.ActiveWorkbook;        const sheets = workbook.Worksheets;        // 1. 删除已存在的"目录"工作表(不提示)        Application.DisplayAlerts = false;        try {            let existingSheet = workbook.Worksheets.Item("目录");            existingSheet.Delete();        } catch(e) {            // 工作表不存在,继续执行        }        Application.DisplayAlerts = true;        // 2. 在最左边创建新工作表并命名为"目录"        let newSheet = workbook.Worksheets.Add(workbook.Worksheets(1));        newSheet.Name = "目录";        // 3. 设置表头(7列)        newSheet.Range("A1:G1").Value2 = [["工作表名称""编号""表眉1""表眉2""表头标题一""表头标题二""表头标题三"]];        // 4. 遍历所有工作表,提取数据        let dataRow = 2// 数据从第2行开始        let totalSheets = 0;        let cnt = sheets.Count;        for(let i = 1; i <= cnt; i++) {            let sheetName = sheets.Item(i).Name;            // 跳过"目录"工作表本身            if(sheetName !== newSheet.Name) {                let sourceSheet = sheets.Item(i);                // 写入工作表名称                newSheet.Cells(dataRow, 1).Value2 = sheetName;                // 写入编号(从N1开始)                newSheet.Cells(dataRow, 2).Value2 = "N" + (dataRow - 1);                // 写入表眉1(A1)                newSheet.Cells(dataRow, 3).Value2 = sourceSheet.Range("A1").Value2 || "";                // 写入表眉2(A2)                newSheet.Cells(dataRow, 4).Value2 = sourceSheet.Range("A2").Value2 || "";                // 写入表头标题一(A5), 表头标题二(A6), 表头标题三(A7)                newSheet.Cells(dataRow, 5).Value2 = sourceSheet.Range("A5").Value2 || "";                newSheet.Cells(dataRow, 6).Value2 = sourceSheet.Range("A6").Value2 || "";                newSheet.Cells(dataRow, 7).Value2 = sourceSheet.Range("A7").Value2 || "";                dataRow++;                totalSheets++;            }        }        // A:G列设置为文本格式并自动调整列宽        newSheet.Columns("A:G").NumberFormat = "@";        newSheet.Columns("A:G").AutoFit();        // 冻结首行,方便查看        newSheet.Rows("1:1").Select();        Application.ActiveWindow.FreezePanes = true;        // 选中A1单元格        newSheet.Range("A1").Select();        // 8. 提示完成        MsgBox(`✅ 操作完成!\n已成功提取 ${totalSheets} 个工作表的名称及表头信息!`0"提取目录及工作表表头信息完成");    } catch(error) {        MsgBox("❌ 操作失败:" + error.message0"错误");    }}

基本操作步骤:

方法一:

1.打开你的WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。

2.插入模块并粘贴代码。在编辑器左侧右键点击「项目」中的当前工作簿,选择「插入」→「模块」,将代码完整复制到右侧代码窗口中。

3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。

方法二:

1.打开你的WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。

2.按Ctrk+O键,导入相应js文件,就导入js文件。

3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。

在示例中已保留完整代码,可以动手试一试,直观感受实际效果。如果觉得好用、对工作有所助益,欢迎点个赞,或转发给身边的同事和朋友。更期待你在留言区分享使用中遇到的问题,我们一起交流探讨。

每一次互动,都值得期待。让我们共同成长

往期内容推荐:

什么是WPS JSA?如何调用WPS宏编辑器?

【WPS JSA 】一键提取工作簿中所有工作表名称,如果工作表名称与表格的标题又是一样的,那就一不小心生成了文件目录了。

【WPS JSA】提取工作簿工作表目录并超链接,快捷切换工作表!

可下载以下资料查看测试

2026年06月26日-【WPS JSA】提取工作簿工作表目录及表头信息.zip