方法一:使用hpctb
打开文件,点“行分表”就行了。如图:
一步完成,不需要安装环境,也不需要专业知识,也不需要“神”一样的ai。
方法二:使用Python
安装库(如未安装)
pip install pandas openpyxl
Python脚本
import pandas as pd
# 读取原文件
df = pd.read_excel("input.xlsx")
chunk_size = 100 # 每个文件的行数
# 计算总块数并循环保存
for i in range(0, len(df), chunk_size):
chunk = df.iloc[i:i+chunk_size]
chunk.to_excel(f"output_{i//chunk_size +1}.xlsx", index=False)
说明
输入文件:确保 input.xlsx 与脚本同目录,或修改路径。
输出文件:生成 output_1.xlsx、output_2.xlsx 等,每个文件包含最多100行数据(保留标题)。
方法三:使用Excel VBA宏
操作步骤
打开Excel文件,按 Alt + F11 进入VBA编辑器。
右键项目 → 插入 → 模块,粘贴以下代码:
Sub SplitIntoFiles()
Dim originalWs As Worksheet
Dim newWb As Workbook
Dim newWs As Worksheet
Dim lastRow As Long, chunkSize As Long
Dim startRow As Long, endRow As Long, partNum As Long
Set originalWs = ThisWorkbook.Sheets(1)
lastRow = originalWs.Cells(originalWs.Rows.Count, 1).End(xlUp).Row
chunkSize = 100
partNum = 1
' 复制标题行(假设第1行是标题)
originalWs.Rows(1).Copy
For startRow = 2 To lastRow Step chunkSize
endRow = startRow + chunkSize - 1
If endRow > lastRow Then endRow = lastRow
' 创建新工作簿并粘贴标题和数据
Set newWb = Workbooks.Add
Set newWs = newWb.Sheets(1)
newWs.Rows(1).PasteSpecial Paste:=xlPasteAll ' 标题
originalWs.Rows(startRow & ":" & endRow).Copy
newWs.Rows(2).PasteSpecial Paste:=xlPasteAll ' 数据
Application.CutCopyMode = False
' 保存文件到原路径
newWb.SaveAs Filename:=ThisWorkbook.Path & "\output_" & partNum & ".xlsx"
newWb.Close SaveChanges:=False
partNum = partNum + 1
Next startRow
End Sub
返回Excel,按 Alt + F8 运行宏 SplitIntoFiles。
说明
标题行:默认第1行为标题,每个新文件均包含。
输出路径:与原文件相同,生成 output_1.xlsx、output_2.xlsx 等。
注意事项
数据范围:确保无合并单元格或复杂格式,否则可能影响拆分。
文件路径:检查脚本或宏中的路径权限,避免保存失败。