WPS宏实现表格合并功能

server/2024/9/24 2:07:55/

把文件夹中N个表格Sheet1页的数据合并成一个新的表格

function 合并表格() {
    //合并文件为C盘下面名为test的文件夹
    var folderPath = "C:\\test";
    var fileName = Dir(folderPath +"\\*.*");
    
    if(fileName == ""){
        alert("文件为空,无法执行");
    }
        
    //创建合并表格,如果合并文件存在会报错,这里没做校验删除
    var newWork = Workbooks.Add();
    
    while(fileName != ""){
        
        // 打开工作簿
        var workBook = Workbooks.Open(folderPath + "\\" + fileName);
        
        // 执行复制代码
        //默认合并每个表格的Sheet1页
        var lastCol = workBook.Worksheets("Sheet1").Cells(1, workBook.Worksheets("Sheet1").Columns.Count).End(xlToLeft).Column;
        var lastRow = workBook.Worksheets("Sheet1").Cells(workBook.Worksheets("Sheet1").Rows.Count,1).End(xlUp).Row;
        
        //获取合并页的有多少行
        var startRow = newWork.Worksheets("Sheet1").Cells(newWork.Worksheets("Sheet1").Rows.Count,1).End(xlUp).Row;
        
        //开始复制
        workBook.Worksheets("Sheet1").Range(Cells(1,1),Cells(lastRow,lastCol)).Copy(newWork.Worksheets("Sheet1").Cells(startRow+1, 1));
        
        // 关闭工作簿
        workBook.Close(true);
        
        // 获取下一个文件,Dir()方法不给任何参数,默认去找下一个匹配的文件
        fileName = Dir();
    }
    
    //删除多余的首行
    newWork.Worksheets("Sheet1").Range("A1").EntireRow.Delete();
    
    //保存合并表格至原文件夹
    newWork.SaveAs(folderPath+"\\"+"合并表格"+".xlsx");
    
    //关闭表格
    alert("合并完成,合并表格与要合并的表格同目录下");
    newWork.Close(true);
}


http://www.ppmy.cn/server/103839.html

相关文章

知识改变命运 数据结构【链表面试题】

1. 删除链表中等于给定值 val 的所有节点。 OJ链接 public ListNode removeElements(ListNode head, int val) {if (headnull) {return null;}ListNode curhead.next;ListNode prehead;while(cur!null) {if(cur.valval) {pre.nextcur.next;curcur.next;}else {precur;curcur.ne…

学习之appium的简单使用

使用之前需要先安装一下依赖 1、安装jdk:暂时为整理笔记以后补充 2、安装nodejs:https://blog.csdn.net/qq_42792477/article/details/141363957?spm1001.2014.3001.5501 3、安装SDk(安卓篇):https://blog.csdn.net/qq_42792477…

esbuild中的Data URL Loader:轻松将文件嵌入为Base64编码的数据URL

在前端项目中,经常需要将图片、字体、音频或其他文件直接嵌入到JavaScript代码中,以便在运行时能够立即使用,而无需额外的HTTP请求。为了实现这一需求,esbuild提供了Data URL Loader这一功能强大的工具。它能够在构建时将文件加载…

Prism-学习笔记1-安装Prism

安装Prism 在VS2022中安装如下图: 2. 搜索Prism,安装Prism:(ps:如果安装很慢,直接往上搜关键字 Prism template Pack 下载,或者这里我下载好的Prism包,提取码:bi7c&…

Qt第十七章 多线程

文章目录 多线程1. 线程概念的起源2. 三种方式创建线程3. 启动线程前的准备工作4. 启动线程/退出线程5. 操作运行中的线程6. 为每个线程提供独立数据7.子线程不能操作ui解决方案 多线程 1. 线程概念的起源 单核CPU 早期还没有线程的概念,如何保证2个进程同时进行呢…

android13顶部状态栏里面调节背光 背景闪烁问题

总纲 android13 rom 开发总纲说明 目录 1.前言 2.问题分析 3.代码分析 4.代码修改 5.彩蛋 1.前言 android13顶部状态栏里面调节背光, 背景闪烁问题,会出现画面不全问题,如下图 2.问题分析 这里看起来是由于隐藏的时候,界面显示是一个渐变的隐藏,但是后面的背景又是…

QT基础知识5

思维导图 client.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), socket(new QTcpSocket(this))//给客户端实例化分配空间 {ui->setupUi(this);//初始化界面ui->msgEdit-&…

pair 与 tie功能与用法-清晰教程

目录 一、什么是 pair 1.1 定义 1.2 功能 1.3 使用方法 1.3.1 创建 pair 1.3.2 用法场景 1.3.3 其他操作 二、什么是 tie 2.1 定义 2.2 功能 2.3 使用方法 2.3.1 基本用法 2.3.2 忽略部分值 2.3.3 使用场景 三、pair 与 tie 的比较 3.1 功能比较 3.2 用途比较…