批量创建 Excel 文件通常有几种常见场景,具体取决于你的需求:是需要生成多个空文件、基于模板生成多个文件,还是从数据库/数据源生成多个文件。
以下是几种最常用的方法,按推荐程度排序:
使用 Python (最灵活、高效)
如果你需要处理大量文件或复杂逻辑,Python 是最佳选择,推荐使用 openpyxl 库。
安装库
pip install openpyxl
场景 A:批量创建多个空 Excel 文件
import openpyxl
import os
# 定义文件名列表
file_names = ["报告_2026_1月.xlsx", "报告_2026_2月.xlsx", "报告_2026_3月.xlsx"]
for name in file_names:
# 创建一个新的工作簿
wb = openpyxl.Workbook()
# 保存文件
wb.save(name)
print(f"已创建: {name}")
print("所有文件创建完成!")
场景 B:基于模板批量生成文件(更实用)
假设你有一个模板文件 template.xlsx,希望根据数据生成多个文件。
import openpyxl import shutil # 1. 准备数据 data = [ {"name": "张三", "score": 95}, {"name": "李四", "score": 88}, {"name": "王五", "score": 92} ] # 2. 加载模板 template_path = "template.xlsx" output_dir = "output_files" # 确保输出目录存在 if not os.path.exists(output_dir): os.makedirs(output_dir) for item in data: # 生成新文件名 new_filename = f"{item['name']}_成绩单.xlsx" new_filepath = os.path.join(output_dir, new_filename) # 复制模板到新文件 shutil.copy(template_path, new_filepath) # 打开新文件并修改内容 wb = openpyxl.load_workbook(new_filepath) ws = wb.active # 假设模板中 A1 是姓名,B1 是分数 ws['A1'] = item['name'] ws['B1'] = item['score'] # 保存 wb.save(new_filepath) print(f"已生成: {new_filename}")
使用 VBA 宏(在 Excel 内部操作)
如果你不想安装 Python,可以在 Excel 中使用 VBA 批量创建。
- 按
Alt + F11打开 VBA 编辑器。 - 插入 -> 模块。
- 粘贴以下代码:
Sub CreateMultipleExcelFiles()
Dim i As Integer
Dim fileName As String
Dim ws As Worksheet
' 设置循环次数,例如创建 10 个文件
For i = 1 To 10
' 生成文件名,"Sheet1_1.xlsx", "Sheet1_2.xlsx"
fileName = "新建文件夹文件_" & i & ".xlsx"
' 创建新工作簿
Workbooks.Add
' 可选:重命名工作表
ActiveSheet.Name = "Sheet" & i
' 保存并关闭
ActiveWorkbook.SaveAs fileName:=fileName, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
Next i
MsgBox "批量创建完成!"
End Sub
⚠️ 注意:运行前请确保目标文件夹存在,或修改路径。
使用命令行工具(Linux/Mac 或 Windows PowerShell)
Linux/Mac (使用 touch 或 python)
# 创建 10 个空文件
for i in {1..10}; do touch "file_$i.xlsx"; done
Windows PowerShell
# 创建 10 个空文件 1..10 | ForEach-Object { New-Item -ItemType File -Name "file_$_.xlsx" }
使用在线工具或软件
- Excel 插件:如 Kutools for Excel,提供“创建序列工作表”或“批量创建文件”功能。
- 在线批量生成器:搜索“Excel batch generator”,有些网站允许你上传模板和数据 CSV,自动生成多个 Excel 文件(注意数据隐私)。
✅ 最佳实践建议
| 场景 | 推荐方法 |
|---|---|
| 少量文件(<10个) | 手动复制粘贴 |
| 中等数量(10-100个),有固定格式 | VBA 宏 |
| 大量文件(>100个),或需从数据库/CSV 生成 | Python (openpyxl 或 pandas) |
| 仅需空文件 | 命令行 (touch / PowerShell) |
如果你能提供更具体的需求(是否需要填充数据?是否有模板?数据源是什么?),我可以为你提供更精确的代码或步骤。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/478263.html



