将多个 Excel 文件中的数据汇总到一个 Excel 文件中,可以使用以下几种方法。根据你的需求(比如是否需要保留原始文件、是否需要自动更新等),可以选择不同的方法。
✅ 方法一:使用 Excel 自带功能(适合简单情况)
✅ 步骤:
- 打开一个新的 Excel 文件。
- 选择“数据”选项卡。
- 点击“从文件” -> “从工作簿”。
- 选择你要合并的多个 Excel 文件。
- 点击“确定”。
- 在新工作簿中,选择所有数据,然后点击“数据” -> “数据透视表”或“合并数据”。
- 将数据合并到一个工作表中。
✅ 方法二:使用 VBA 宏(适合自动化)
✅ 优点:
- 可以自动读取多个文件,合并数据。
- 可以自定义合并的字段。
✅ 步骤:
- 按
ALT + F11打开 VBA 编辑器。 - 插入一个新模块(
Insert -> Module)。 - 输入以下代码:
Sub MergeExcelFiles()
Dim wb As Workbook
Dim ws As Worksheet
Dim filePath As String
Dim fileNames As Variant
Dim i As Integer
' 设置文件路径和文件名
filePath = "C:\YourFolder\*" ' 修改为你的文件夹路径
fileNames = Shell("dir /b " & filePath, vbNormalFocus)
' 创建新工作簿
Set wb = Workbooks.Add
Set ws = wb.Sheets(1)
' 遍历文件名
For i = 0 To UBound(fileNames)
filePath = filePath & fileNames(i)
' 打开文件
Set wb1 = Workbooks.Open(filePath)
Set ws1 = wb1.Sheets(1)
' 填充数据
ws.Range("A1").End(xlDown).Offset(1).Resize(ws1.Rows.Count, ws1.Columns.Count).Value = ws1.Range("A1").Value
' 关闭文件
wb1.Close SaveChanges:=False
Next i
' 保存工作簿
wb.SaveAs "C:\YourFolder\MergedFile.xlsx" ' 修改为你的保存路径
MsgBox "数据已合并!"
End Sub
✅ 注意:
- 你需要将
filePath改为你的文件夹路径。 - 确保文件名不包含空格或特殊字符。
- 如果文件名中有多个文件,
*表示匹配所有文件。
✅ 方法三:使用 Python(适合批量处理)
✅ 使用 pandas 和 openpyxl(推荐)
import pandas as pd
import os
# 设置文件夹路径
folder_path = "C:\\YourFolder\\" # 修改为你的文件夹路径
# 获取所有Excel文件
files = [f for f in os.listdir(folder_path) if f.endswith(".xlsx") or f.endswith(".xls")]
# 读取所有文件
dfs = []
for file in files:
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path)
dfs.append(df)
# 合并数据
merged_df = pd.concat(dfs, ignore_index=True)
# 保存到新文件
merged_df.to_excel("C:\\YourFolder\\MergedFile.xlsx", index=False)
print("数据已合并!")
✅ 优点:
- 简单易用,适合初学者。
- 可以处理大量文件。
✅ 方法四:使用 Excel 的“合并工作表”功能(适合少量文件)
✅ 步骤:
- 打开一个 Excel 文件。
- 点击“数据” -> “数据工具” -> “合并工作表”。
- 选择要合并的多个工作表。
- 点击“确定”。
- 选择“合并到一个工作表”。
- 保存文件。