Openpyxl 设置单元格的格式

目录

导入包

设置单元格格式为字符

设置单元格格式为货币的格式

 整体示例代码()

设置单元格的列宽和居中可以参考另外一篇博客


导入包

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博客

猜你喜欢

转载自blog.csdn.net/gongzairen/article/details/131589124
今日推荐