很多办公族都有过手动删除Excel空白行列的烦恼,一些原始数据中夹杂着大量空白行列,不仅影响表格的美观程度,更有可能影响数据分析的结果。无论你是偶尔处理数据的业务人员,还是需要经常处理大量报表的朋友,这几种方法都可以帮助你提高Excel处理效率,彻底告别空白行列带来的困扰。
相信许多朋友都遇到过这些令人头疼的场景,从公司系统导出的excel清单,每隔几行就有一个莫名其妙的空行,导致无法直接使用筛选和分类汇总;各部门汇总上来的销售报表,数据区域外散布着大量无用的空白列,让整个表格看起来异常宽泛,打印时严重浪费纸张;在做数据分析前进行数据清洗时,这些空白单元会干扰VLOOKUP、SUMIF等函数的运算,或者让数据透视表生成多余无意义的分类项。
这些空白的行列对Excel表格没有任何意义,却会影响数据处理的效果,因此我们通常需要将这些空白行列进行删除。
今天就分享了四种方法,有专业的处理工具,也可以直接在Excel中处理,不管单张表格还是同时处理大量的表格,都可以快速删除Excel中的空白行列,同时方法一还可以顺便也删除空白表,我们一起来看看具体的方法吧!
批量删除Excel空白行/列效果预览
处理前:

处理后:

方法一:借助【鹰迅批量处理工具箱】处理
优势:可以同时批量删除多个Excel文件中的空白行、空白列,不需要一个个打开文件,还可以同时删除空白表等,功能齐全。
不足:需要额外下载电脑端软件。
操作步骤:
第一步、打开「鹰迅批量处理工具箱」,左侧选择「Excel工具」,右侧在文件内容分类中选择「删除 Excel 空白内容」的功能。

第二步、选择需要删除空白行列的Excel 文档。
这里可以同时添加多个需要处理的excel文档,软件会自动进行检查并删除。

第三步、设置删除空白行的选项。

这个页面,我们可以看到,不仅可以删除空白行,还可以删除没用的空白表、空白列。
第四步、批量删除Excel空白行处理完成。

方法二:借助方方格子第三方插件处理
优势:单个文件处理功能强大,可以直接在Excel中使用。
不足:需要下载插件,只能处理单个Excel文件。
操作步骤:
1、下载方方格子插件,打开一个Excel文件。
2、点击方方格子插件 ,在功能区找到 “批量删除”分组 → 点击 “删除空行/列”

方法三:使用定位功能
优势:不需要额外下载软件,操作简单
不足:只适合单个excel工作表中删除空白行的操作,如果同时有空白行和空白列就不适用了。
操作步骤:
1、选中数据区域:点击数据区域任意单元格,按 Ctrl + A全选。
2、打开定位对话框:按 F5键 → 点击“定位条件”,或直接按 Ctrl + G→ “定位条件”。
3、选择空值:在对话框中勾选“空值”,点击“定位”。此时所有空白单元格会被选中。

4、删除行:在选中的任意空白单元格上右键 → 选择“删除”,在弹出的对话框中选择“整行”。

方法四:直接使用Python代码实现
优势:不需要额外下载软件,可以同时处理多个文件。
不足:有一定专业基础要求。
用 Python 结合openpyxl库(处理.xlsx 格式)来实现,代码简单易懂且能直接运行
python
运行
import os
from openpyxl import load_workbook
def remove_blank_rows_columns(file_path, overwrite=True):
"""
删除Excel文件中所有工作表的空白行和空白列
:param file_path: Excel文件路径
:param overwrite: 是否覆盖原文件,False则另存为新文件(后缀加_processed)
"""
try:
# 加载Excel文件,read_only=False才能修改
wb = load_workbook(file_path, read_only=False, data_only=True)
# 遍历所有工作表
for ws_name in wb.sheetnames:
ws = wb[ws_name]
print(f"正在处理工作表: {ws_name}")
# ========== 第一步:删除空白行 ==========
# 倒序遍历行(避免删除行后索引错乱)
rows_to_delete = []
for row in ws.iter_rows(min_row=1, max_row=ws.max_row):
# 判断整行是否为空(所有单元格值为None/空字符串)
is_blank = all(cell.value is None or str(cell.value).strip() == "" for cell in row)
if is_blank:
rows_to_delete.append(row[0].row) # 记录空白行号
# 倒序删除空白行(从后往前删,防止索引变化)
for row_num in sorted(rows_to_delete, reverse=True):
ws.delete_rows(row_num)
# ========== 第二步:删除空白列 ==========
cols_to_delete = []
for col in ws.iter_cols(min_col=1, max_col=ws.max_column):
# 判断整列是否为空
is_blank = all(cell.value is None or str(cell.value).strip() == "" for cell in col)
if is_blank:
cols_to_delete.append(col[0].column) # 记录空白列号
# 倒序删除空白列
for col_num in sorted(cols_to_delete, reverse=True):
ws.delete_cols(col_num)
# 保存文件
if overwrite:
# 覆盖原文件
wb.save(file_path)
print(f"文件 {file_path} 处理完成,已覆盖原文件")
else:
# 另存为新文件(避免覆盖原文件)
new_file_path = os.path.splitext(file_path)[0] + "_processed.xlsx"
wb.save(new_file_path)
print(f"文件 {file_path} 处理完成,新文件保存为: {new_file_path}")
wb.close()
except Exception as e:
print(f"处理文件 {file_path} 时出错: {str(e)}")
def batch_process_excel(folder_path):
"""
批量处理指定文件夹下的所有Excel文件
:param folder_path: 文件夹路径
"""
# 遍历文件夹下所有.xlsx文件
for filename in os.listdir(folder_path):
if filename.endswith(".xlsx") and not filename.startswith("~$"): # 排除临时文件
file_path = os.path.join(folder_path, filename)
remove_blank_rows_columns(file_path, overwrite=False) # 先设为False,避免误删原文件
if __name__ == "__main__":
# ========== 请修改这里的文件夹路径 ==========
target_folder = r"C:\Users\你的用户名\Desktop\待处理Excel文件"
# 执行批量处理
batch_process_excel(target_folder)有了这个方法,就能很快速的搞定了,再也不用焦头烂额的无效加班了。无论你是电商运营、HR、老师,还是财务人员、物流统计人员,只要日常工作中需要处理 Excel 数据,都可以来体验一下这款批量处理工具,它还有很多其他批量处理功能,绝对是你办公路上的好搭档。