目录
导入包
from openpyxl.styles import Alignment
from openpyxl.utils import get_column_letter
设置单元格格式为字符
number_format = '0'
数据第一行为表头,数据从第二行开始,将所有单元格设置为文本格式
wb = load_workbook('文件路径')
ws = wb['sheet名']
for ever_row in range(2, ws.max_row + 1):
for ever_col in range(1,ws.ws.max_column):
ws.cell(ever_row, ever_col).number_format = '0'
设置单元格格式为货币的格式
number_format = '#,##0'
wb = load_workbook('文件路径')
ws = wb['sheet名']
for ever_row in range(2, ws.max_row + 1):
for ever_col in range(1,ws.ws.max_column):
ws.cell(ever_row, ever_col).number_format = '#,##0'
整体示例代码(可参考用法)
# 设置excel的一些格式
def set_excel_format(self):
if self.file is None:
return
wb = load_workbook(self.file)
for sheet_name in wb.sheetnames:
ws = wb[sheet_name]
# 居中所有单元格
align = Alignment(horizontal='center', vertical='center', wrapText=False)
for i in range(1, ws.max_row + 1):
for j in range(1, ws.max_column + 1):
ws.cell(i, j).alignment = align
original_clo_max = ws.max_column + 1
currency_clo_index_list = []
# 查找对应数据的索引
for ever_col in range(1, original_clo_max):
if ws.cell(1, ever_col).value == "销售额指数":
currency_clo_index_list.append(ever_col)
continue
elif ws.cell(1, ever_col).value == '销售量指数':
currency_clo_index_list.append(ever_col)
continue
# 设置格式
for ever_row in range(2, ws.max_row + 1):
for index in currency_clo_index_list:
ws.cell(ever_row, index).number_format = '#,##0'
wb.save(self.file)
设置单元格的列宽和居中可以参考另外一篇博客
Openpyxl 居中所有含有数据的单元格_python openpyxl 居中_gongzairen的博客-CSDN博客