精华内容
下载资源
问答
  • excel多表合并实例

    2012-05-31 20:29:58
    多表合并实例,相信会对您有帮助!我就是看了学会多表汇总的!
  • python之excel多表合并

    千次阅读 2020-04-28 15:29:00
    本节课要做的是将excel表中的信息合并到一张excel表中。 新建一个文件夹名为【merge】,里面放入三个名为【销售订单信息登记】的excel表。为了演示只准备了三个exccel,实际操作中更数量的excel表也是...

    关于python的应用办公中很常见,尤其是对于数量较多的重复性操作。本节课要做的是将多张excel表中的信息合并到一张excel表中。

     

    新建一个文件夹名为【merge】,里面放入三个名为【销售订单信息登记表】的excel表。为了演示只准备了三个exccel表,实际操作中更多数量的excel表也是可以的。

     

     

    【销售信息登记表】内部内容如下图所示。也可以自行设置excel中内容,建议保证格式和下图一致,否则需要修改python中的代码。

     

     

     

    01

    确认目标

     

    复制3个excel表中的内容,然后粘贴到一个新建的excel表中汇总。

    02

    分析过程

     

    (1)三个excel表在一个文件中,需要遍历文件夹中的所有文件。这部分之前没学过,需要想办法解决。

     

    (2)将第一步遍历的三个excel表中的内容读取,然后保存。可以通过前面讲过的openpyxl模块来实现。

     

    (3)新建一个excel表,通过openpyxl模块实现。

     

    (4)在新建的excel表中写入表头,写入通过openpyxl模块实现,合并单元格和字体加粗、居中没学过。

     

    (5)将第二步中读取的内容写入新建的excel表中,然后保存。

     

    根据上述五个步骤,即可完成本次练习。其中有两步涉及到之前未学过的知识,这在编程中很常见,需要自己上网查询解决。受篇幅所限,后面的讲解中不会展示查询的过程。

     

    03

    代码实现

     

    先来实现第一步,想要遍历文件夹中的文件,需要用到os模块。os模块是内置模块,不需要安装。通过【os.listdir('文件夹地址')】函数遍历文件夹中的所有文件,得到文件名称。然后通过for循环,依次获取文件名称。

     

    考虑到文件夹中可能存在不需要的文件,比如文件格式或文件名不符合要求的,所以需要将不符合要求的文件过滤。本次的过滤条件为【以'.xlsx'结尾】,通过endswith()函数来判断。对于不符合要求的,返回循环继续执行。代码如下;

    import os#遍历文件夹中的所有文件for i in os.listdir(r'C:\Users\GT\Desktop\merge'):#判断文件名是否以'.xlsx'结尾    if i.endswith('.xlsx'):        ......    else:        continue

    接下来开始第二步,根据文件名称合成的地址来读取excel文件,获取文件中的工作表【Sheet1】。然后读取表中的内容,并以列表的形式保存。最后将每次循环获得的列表保存在一个新建的空列表中。代码如下:

    import os#遍历文件夹中的所有文件for i in os.listdir(r'C:\Users\GT\Desktop\merge'):    #判断文件名是否以'.xlsx'结尾    if i.endswith('.xlsx'):        #读取文件路径        wb = load_workbook(r'C:\Users\GT\Desktop\merge\\'+i)        info = wb['Sheet1']        #获取行数        rows = info.max_row        #按照行数循环读取数据(减去两行标题)        for row in range(rows-2):            # 按行读取每个字段中的值            A = info.cell(3+row,1).value            B = info.cell(3+row,2).value            C = info.cell(3+row,3).value            D = info.cell(3+row,4).value            E = info.cell(3+row,5).value            F = info.cell(3+row,6).value            #判断是否整行都是空值            if A and B and C and D and E and F != None:                # 将读取的值以列表形式保存                list = [A,B,C,D,E,F]                # 将列表list写入data中                data.append(list)            else:            continueelse:    continue

    上述代码中,cell(row,col)代表excel中单元格的位置。cell()中的位置是从1开始计算的,例如cell(3,1)代表的是excel中第3行第1列的单元格,也就是A3单元格。【A = info.cell(3+row,1).value】是读取Sheet1中第3+row行第1列的单元格的值存入变量A中。

     

    循环结束后,列表data中保存的是遍历所有文件后取得的内容,不包含excel表的表头。

    第二步完成后是第三步,通过openpyxl模块创建excel,其中需要用到openpyxl中的Workbook和load_workbook。代码如下:

    from openpyxl import Workbook,load_workbook#新建excelwb = Workbook()#新建sheet表sheet = wb.active

    第四步中的合并单元格需要用到【merge_cells('单元格范围')】函数来实现,字体和位置需要调用openpyxl.styles模块中的Font和Alignment。代码如下:

    from openpyxl.styles import Font,Alignment#merge_cells()函数合并单元格sheet.merge_cells('A1:F1')#确定写入位置title = sheet.cell(1,1)#确定写入内容title.value = '销售订单信息登记表'#字体为粗体的设置font = Font(bold=True)#字体位置水平居中、垂直居中的设置alignment = Alignment(horizontal='center',vertical='center')

    上述代码完成了单元格合并、合并单元格内容写入以及字体加粗、居中的设置,还需要对表头的六个标题字段进行写入以及对所有的字体进行加粗、居中设置。代码如下:

    #将变量title变为粗体title.font = font#将变量title水平、垂直居中title.alignment = alignment#excel表头字段列表list = ['订单编号','商品名称','单位','订单总额','订单状态','发货状态']for i in range(len(list)):    #通过循环将表头字段写入excel    sheet.cell(2,i+1).value = list[i]    #通过循环将字体加粗    sheet.cell(2,i+1).font = font    #通过循环将内容居中    sheet.cell(2,i+1).alignment = alignment

    最后是第五步,利用循环将第二步中存入data列表的数据写入新建的excel中,然后保存excel。代码如下:

    #按照data中的列表数量循环for row in range(len(data)):    #将data中的数据写入之前新建的sheet表    sheet.append(data[row])#保存excel表wb.save('total.xlsx')

    到这里代码就都完成了,整合上面五步的代码后运行,可以得到一个名为'total.xlsx'的excel表,位于当前编写代码的【.py】文件的同一目录下。

    展开全文
  • 这个工具可以实现excel多个工作表...看到Excel多表合并,其实常见的有2种场景 场景一:多个Excel文件需要合并为1个Excel文件(多个工作簿合并为1个工作簿) 场景二:1个Excel文件种有多个工作表,需要合并为1个工作表
  • Excel宏操作多表合并

    2009-09-01 17:59:45
    用宏实现EXCEL多表合并,以减轻重复粘贴的工作,多表轻松搞定!
  • EXCEL工作表合并

    2019-04-12 14:24:05
    使用批处理方式将EXCEL工作蒲文件合并成一个总 在D盘创建一个 abc123 的文件夹把 bat文件和Excel文件一起放到这个文件夹 运行一下bat文件就可以 会生成一份ALL开头的excel文件
  • [随波逐流]Excel多簿多表合并工具 V1.0.rar
  • 个工作表合并说明: 1、需要将合并的工作移到同一个文件夹下; 2、只统计合并SHEET1工作,数据从第二行开始汇总, 3、工作薄数量不要太
  • Excel表合并成一个Excel表

    万次阅读 多人点赞 2019-06-30 17:38:04
    问题描述: 往往在进行数据统计分析前,会遇到数据分在不同的表里的情况,这时候就需要将的数据先放到一个的数据里面,然后再进行分析。比如班级需要汇总每个人的信息,几十人每个人都发了个人的信息,一...

    一 使用说明

    问题描述: 往往在进行数据统计分析前,会遇到数据分在不同的表里的情况,这时候就需要将多个表的数据先放到一个表里面汇总,然后再进行分析。比如班级需要汇总每个人的信息,几十人每个人都发了个人的信息表给一个人进行统计,统计人员可以进行一个一个表打开粘贴到汇总表里,但是这样不仅麻烦,而且还可能出错,这种做法最简单粗暴但却很浪费时间的。当然,如果是大批量的数据使用python或者其他语言汇总到一个表里也是可行的,如果是小批量的几百个数据,敲代码有点大材小用,这时候excel本身就可以解决。
    使用条件:对多个同类型的excel数据表通过excel功能合并到一个excel表内。同类型是指每个一个excel表的表头都是一样的,里面的信息都是同类型的,比如表1、表2的内容分别是如下两张表的内容,可以看出两者的录入信息都是一样的。本excel是2016版的,其他版本应该都有该功能,但是具体的菜单栏内容可能会有小差异。
    表1
    表1
    表2
    表2

    二 使用方法

    1.数据处理:将要合并的数据统一放到一个文件夹内

    ps:本文的示例数据是从招生信息网站找的,内容和上文表1表2的格式相同,分别在四个excel表内,统一命名为表1,表2,表3,表4,并放在一个文件夹内,如下图所示。

    示例数据

    示例数据
    2.在文件夹内新建一个汇总表,也可以命名其他的名字,用来汇总各个表格的信息

    ps:本文的示例汇总表命名为汇总表,如下图所示

    新建汇总表
    汇总表
    3.打开汇总表表格,然后右击下方的sheet1按钮,会出现一个菜单,点击“查看代码”一栏,这时会出现VBA窗口
    点击查看代码一栏
    在这里插入图片描述
    VBA窗口
    在这里插入图片描述
    4.在弹出的代码框中粘贴如下代码,并点击按钮运行,运行完后会弹出运行结果对话框,点击确定即可

    Sub all_contents()
    
    Dim MyPath, MyName, AWbName
    
    Dim Wb As Workbook, WbN As String
    
    Dim G As Long
    
    Dim Num As Long
    
    Dim BOX As String
    
    Application.ScreenUpdating = False
    
    MyPath = ActiveWorkbook.Path
    
    MyName = Dir(MyPath & "\" & "*.xls")
    
    AWbName = ActiveWorkbook.Name
    
    Num = 0
    
    Do While MyName <> ""
    
    If MyName <> AWbName Then
    
    Set Wb = Workbooks.Open(MyPath & "\" & MyName)
    
    Num = Num + 1
    
    With Workbooks(1).ActiveSheet
    
    .Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
    
    For G = 1 To Sheets.Count
    
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
    
    Next
    
    WbN = WbN & Chr(13) & Wb.Name
    
    Wb.Close False
    
    End With
    
    End If
    
    MyName = Dir
    
    Loop
    
    Range("B1").Select
    
    Application.ScreenUpdating = True
    
    MsgBox "共合并了" & Num & "个工作薄" 
    
    End Sub
    
    

    运行代码
    在这里插入图片描述
    运行结果对话框
    在这里插入图片描述
    5.返回原来的工作簿,可以看到数据汇总成果。但是却出现很多重复的表头,除了第一个表头,我们需要将其他多余的表头删除,当然,如果不怕麻烦,也可以选择一行一行的删除。如果想一次性处理,这时需要进行如下几步:
    (1)将表数据进行全选,点击“查找和选择”按钮,在查找文本框内输入要查找的内容,内容可以是表头中的任意一个列名进行输入,然后点击”查找全部“按钮(本文使用了“院校名称”进行查找,也可以使用“年份”或者“考生类别”或其他列名)

    查找对应的列
    在这里插入图片描述
    (2)查找的结果都会在查找框的下面全部列出来,对结果使用Ctrl+A全选,这时所有的内容都变蓝了。然后按住Ctrl键不放,点击第一个查询结果,这时第一行变白了,也就是没有选中。看一下表内的数据内容,可以看到,除了第一行的院校名称没有变色,其他行的院校名称都变成了灰色,或者说处于一种被同时选中的状态。
    选中的行
    在这里插入图片描述
    (3)选择任意一个灰色被选中的单元格,然后右击该单元格,会有菜单弹出,点击删除一栏,在弹出的窗口中按照“整行”的方式删除,然后点击确定即可。这时所有选中的内容对应的行全部删除,这时表头问题就算解决了,数据汇总完成。
    选中删除
    在这里插入图片描述
    按照行删除
    在这里插入图片描述
    删除后的结果表
    在这里插入图片描述

    三 另外一种合并方法

    这种方法得出来的数据有点像数据透视表的结果,而且需要一个个导入,也推荐使用,,具体好坏,还请自行鉴别使用

    1.源数据:不一定放在一个文件夹,一般考虑方便,放在一个文件夹里了,这里还使用原来的数据,可以新建一个汇总表。
    2.打开汇总表,首先点击选中A1单元格,然后在“数据“一栏中,选择“现有连接”功能,会弹出的窗口,在窗口左下角点击“浏览更多”
    现有连接窗口
    在这里插入图片描述
    3.这时需要选择数据源,对话框主要会按照如下步骤弹出:
    (1)数据源对话框:点击浏览更多后会弹出选择数据源对话框,在对话框左边找到源数据文件所在的路径,然后从路径里选择表1,点击右下角的打开按钮。

    数据源对话框
    在这里插入图片描述
    (2)选择表格对话框:点击打开后会出现选择表格对话框,在该对话框内的sheet1就是表1的表,如果表1工作簿内有两个sheet表,选择对应的sheet表就行,这里表1工作簿就一个sheet表,所以直接点击确定即可。
    选择表格对话框
    在这里插入图片描述
    (3)导入数据对话框:点击确定后出现导入数据对话框,显示方式选“表”就行,不用动,“现有工作表”一栏下面需要填写单元格,这里“$ A $ 1 是选择A1单元格开始粘贴,如果不从A1开始粘贴,可以自行选择其他起始单元格。选好单元格后,点击确定即可。这时表1的数据就录入成功了,如下图所示。

    导入数据对话框
    在这里插入图片描述
    录入的表1数据
    录入的表1数据
    4.如果需要导入其他表,重复1,2,3步即可,录入的四个表的结果如下图所示
    录入四个表的结果
    在这里插入图片描述
    5.这里发现仍然会出现很多重复的表头,按照第一种删除方法是无效的,处理方法为:首先将内容全选;然后将内容复制;新建一个sheet表,然后以文本的方式粘贴到另外一张sheet表里;最后按照上文第一种方法里删除重复表头的方式将重复表头删除,即为所获得的汇总表。

    展开全文
  • 相信有很朋友使用Excel,当Excel个,想统一放到一个里面的时候,只能一个一个的复制、粘贴;35-10以内个表格还行,15个以上相信就没那么容易了,不光浪费时间,还容易出错,来回的切换就把自己搞晕了,现在...

    相信有很多朋友使用Excel,当Excel有多个,想统一放到一个表里面的时候,只能一个一个的复制、粘贴;35-10以内个表格还行,15个以上相信就没那么容易了,不光浪费时间,还容易出错,来回的切换就把自己搞晕了,现在教大家一个简单的办法,很实用

    首先,需要把要复制的文件全部放到一个文件夹里面去

    Excel表格快速合并
    第二,在此文件夹下新建一个Excel表格
    Excel多个表快速合并
    第三,打开Excel表,右键Sheet1,选择“查看代码”
    Excel表合并到一个里面
    在弹出的宏对话框里输入如下代码

    Excel表多个合并宏控制

    Sub 合并当前目录下所有工作簿的全部工作表()
    Dim MyPath, MyName, AWbName
    Dim Wb As Workbook, WbN As String
    Dim G As Long
    Dim Num As Long
    Dim BOX As String
    Application.ScreenUpdating = False
    MyPath = ActiveWorkbook.Path
    MyName = Dir(MyPath & "\" & "*.xls")
    AWbName = ActiveWorkbook.Name
    Num = 0
    Do While MyName <> ""
    If MyName <> AWbName Then
    Set Wb = Workbooks.Open(MyPath & "\" & MyName)
    Num = Num + 1
    With Workbooks(1).ActiveSheet
    .Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
    For G = 1 To Sheets.Count
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
    Next
    WbN = WbN & Chr(13) & Wb.Name
    Wb.Close False
    End With
    End If
    MyName = Dir
    Loop
    Range("B1").Select
    Application.ScreenUpdating = True
    MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
    End Sub

    Excel表多个合并
    OK!运行成功!最后显示的就是如下图的结果..
    这里写图片描述

    展开全文
  • EXCEL多表合并大师

    2016-03-10 17:59:06
    利用该软件可以合并多EXCEL 成一个EXCEL表 ,方便处理复杂的EXCEL数据。你值得拥有
  • 快速将excel表合并成一个excel表

    万次阅读 多人点赞 2017-06-26 20:07:44
    应用场景:有很张excel,而且excel里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel的宏计算实现。 注意:金山的WPS没有宏计算功能。只能用microsoft ...

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计

    技术实现:利用excel表的宏计算实现。

    注意:金山的WPS没有宏计算功能。只能用microsoft excel来实现。

    具体如下

    1、我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:

    2、用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:

    3、然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示: 

    复制代码

    sub 合并当前目录下所有工作簿的全部工作表() 
    dim mypath, myname, awbname 
    dim wb as workbook, wbn as string 
    dim g as long 
    dim num as long 
    dim box as string 
    application.screenupdating = false 
    mypath = activeworkbook.path 
    myname = dir(mypath & "\" & "*.xls") 
    awbname = activeworkbook.name 
    num = 0 
    do while myname <> "" 
    if myname <> awbname then 
    set wb = workbooks.open(mypath & "\" & myname) 
    num = num + 1 
    with workbooks(1).activesheet 
    .cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4) 
    for g = 1 to sheets.count 
    wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1) 
    next 
    wbn = wbn & chr(13) & wb.name 
    wb.close false 
    end with 
    end if 
    myname = dir 
    loop 
    range("a1").select 
    application.screenupdating = true 
    msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示" 
    end sub

    复制代码

    关于[A65536]的含义: 在1995-2006年,excel工作簿包含65536行,但现在的office 2007中工作簿包含1048576行。[A65536]就是A列的最后一行的意思,这段话的意思就是,从A列最后一行向上找,找到有数据的行为止。 如果是[B65536]则是从B列最后一行向上找,找到有数据的行为止。

    4、运行之后,等待几秒钟,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。

     ----------------------------------------------------------------------------------------------------------------------------------------------------------

    参考资料:https://jingyan.baidu.com/article/f0062228d16ba9fbd3f0c82b.html?qq-pf-to=pcqq.c2c       //如何快速把多个excel表合并成一个excel表

    展开全文
  • 多excel表数据合并工具
  • 对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把excel表合并成一个excel表? 下面介绍两款在线工具,一键解决excel表合并的问题,不在需要使用Excel公式或者vba。 工具地址:http://www.excelfb.com/...
  • Excel合并器是一款Windows系统下的Excel文件和工作合并工具软件,它支持批量合并Excel XLS/XLSX文件格式和多种工作格式文件(例如ODS, CSV, XML)成一个文件,或者合并多个工作到一个工作。最大的亮点是,...
  • 主要介绍了Python pandas实现excel工作表合并功能以及相关实例代码,需要的朋友们参考学习下。
  • 如何将Excel表合并成一个Excel表

    千次阅读 2019-04-18 23:47:51
    每天需要和Excel办公软件打交道俄小伙伴,他们的电脑桌面上总是布满密密麻麻的Excel,这样看上去非常的凌乱,其实我们完全可以将其中类别相同的Excel合并到一起,这样不但不会丢失数据,而且还有效的整理了桌面,...
  • excel 文档合并代码

    2019-04-28 23:51:23
    excel 文档合并代码
  • EXCEL表合并工具

    2009-12-31 00:38:24
    该工具是将个格式一致的excel表合并成一个excel表,超好用的!
  • 我想将excel 表合并在一多excel表中,但是excel的表头是有合并单元格的,如下图片所示(合并的情况),紧急,希望通过vba代码实现,谢谢!![图片说明]...
  • 我们需要把excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如...
  • 有很张excel,而且excel里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计。 具体如下: 1、我们需要把个excel都放在同一个文件夹里面,并在这个文件夹里面新建一个excel...
  • EXCEL不同表头的多表合并VBA

    千次阅读 2020-03-12 17:30:47
    同一个EXCEL工作下有个表头不一样(顺序/列名不一样)的sheet,需要把所有不一样的sheet合并到一张总,参考第一个sheet的表头的顺序格式,后边的列名一致则合并,列名不一致,在最后一列增加新的列 即: 列...
  • Sub 合并工作() For i = 2 To Sheets.Count Sheets(i).UsedRange.Copy Destination:=Sheets(“汇总”).Range(“A” & Sheets(“汇总”).UsedRange.Rows.Count + 1) Next End Sub ALT+F11,打开代码窗口.粘贴...
  • excel合并小工具能够合并同类工作簿中某个特定的数据,选择要合并的文件 ,选择从第几行开始合并,默认从第一行开始,选择合并起始行,选择合并的工作,工作名称和工作sheet序号,点击合并即可。
  • 更改Excel工作数据合并计算.docx
  • 如果是按Sheet名称合并点击:Excel文件合并(相同名称的Sheet表合并) 如果是所有的合并成一个点击:Excel文件个Sheet合并合并到一个Sheet) 填入从第几行开始,即可跳过表头合并。支持Excel...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,511
精华内容 25,404
关键字:

excel多表合并