python 使用[pyopenxl]操作excel 批量修改单元格样式:边框、字体、对齐、列宽

本文介绍了如何使用Python的openpyxl库来批量设置Excel工作表的单元格样式,包括设置边框、字体、对齐方式以及调整列宽。通过示例代码详细展示了如何创建工作簿,填充内容,并进行样式修改,最后保存为处理后的Excel文件。
摘要由CSDN通过智能技术生成

使用[pyopenxl]操作excel批量修改单元格样式:边框、字体、对齐、列宽

提示:在python的诸多模块中,openpyxl使用最广也最方便,本文就openpyxl批量设置单元格格式,如字体、对齐、边框等略作记录与介绍,也是本人在做项目的过程中遇到的并解决的问题。



1 用openpyxl创建工作表

from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Border, Side, Alignment

def createWorkBook():
	"""创建工作簿"""
	# 创建工作簿
    wb = Workbook()
    # 激活工作表
    st = wb.active
    # 添加表头
    st.append(['列1', '列2', '列3', '列4'])
    
    # 添加表格内容
    st.append([1, 2, 3, 4])
    st.append([1, 2, 3, 4])
    st.append([1, 2, 3, 4])
    st.append([1, 2, 3, 4])

    return wb, st

2 批量修改单元格样式

2.1 代码

wb, st = createWorkBook()
def setCellStyle(st):
     """
     设置单元格格式
     params: st:就是第一步创建的工作表
     """
     
     # 边框
     border = Border(
         left=Side(border_style='thin', color='000000'),
         right=Side(border_style='thin', color='000000'),
         top=Side(border_style='thin', color='000000'),
         bottom=Side(border_style='thin', color='000000'),
     )
     
     # 对齐
     alignment = Alignment(
         horizontal='center',
         vertical='center',
         text_rotation=0,
         indent=0
     )
     
     # 字体
     font = Font(
         name='宋体',
         size=16,
         bold=True,
         italic=False,
         strike=False,
         color='000000'
     )
   
     for row, row_ind in zip(st.iter_rows(), range(1, st.max_row + 1)):
         for cell in row:
         	# 设置边框
            st[cell.coordinate].border = border
     		# 设置居中对齐
            st[cell.coordinate].alignment = alignment
            # 行高40
            st.row_dimensions[row_ind].height = 40
            # 设置字体
            st[cell.coordinate].font = font
      
      # 设置列宽
      st.column_dimensions['A'].width = 8
      st.column_dimensions['B'].width = 8
      st.column_dimensions['C'].width = 8
      st.column_dimensions['D'].width = 8

2.2 效果

在这里插入图片描述

3 保存完工

wb.save("处理结果.xlsx")
wb.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流畅的美杜莎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值