求助:如何将Excel工作簿格式从General批量改为Text?
批量将Excel工作簿所有单元格格式从常规改为文本的解决方法
你当前实现单个单元格格式修改的代码(Worksheet[].number_format = numbers.FORMAT_TEXT)仅针对单个单元格生效,要批量处理整个工作簿,核心思路是遍历所有工作表 + 批量设置每个表的单元格区域格式,以下是具体实现方案(基于openpyxl库,与你现有代码适配):
步骤1:导入依赖模块
from openpyxl import load_workbook from openpyxl.styles import numbers
步骤2:批量修改格式的完整代码
# 加载目标Excel工作簿 wb = load_workbook("你的文件路径.xlsx") # 遍历工作簿内的每一个工作表 for ws in wb.worksheets: # 获取当前工作表的已使用单元格区域(避免处理大量空白单元格) used_area = ws.calculate_dimension() # 对整个已使用区域设置文本格式 ws[used_area].number_format = numbers.FORMAT_TEXT # 保存修改后的工作簿(建议用新文件名,避免覆盖原文件) wb.save("修改后的文件.xlsx")
补充说明
- 如果需要强制修改整个工作表的所有单元格(包括空白区域),可以把
used_area替换为Excel的最大单元格范围:ws["A1:XFD1048576"],但这种方式会处理大量空白单元格,可能降低运行效率 - 操作前务必备份原文件,防止意外导致数据丢失
内容的提问来源于stack exchange,提问作者EngineerBeardy
相关产品推荐
相关产品推荐

