快捷搜索: 王者荣耀 脱发

python openpyxl批量定义单元格属性

openpyxl 作为操作excel 表格的工具,在python中应用比较广泛,但其设置表格单元格属性时,只能一个一个单元格遍历,现将其中的小坑展示给大家

新建表格 wb=Workbook() 新建表单 wbsheet = wb.create_sheet(‘所有课程情况统计’,0) 选中多个单元格 cell_range=wbsheet[‘A1:E43’] 可以用下面的表达方式,转化为单元格范围的字符串 cell_range=wbsheet[get_column_letter(num17+1)+“1:”+get_column_letter(num17+6)+str(row-1)]

当然,要使用前,先import 模块 from openpyxl.utils import get_column_letter, column_index_from_string #根据数字返回字母,根据字母反回列数字

“”" 例:xian = Side(style=‘medium’, color=‘000000’) style:边框线的风格{‘dotted’,‘slantDashDot’,‘dashDot’,‘hair’,‘mediumDashDot’, ‘dashed’,‘mediumDashed’,‘thick’,‘dashDotDot’,‘medium’, ‘double’,‘thin’,‘mediumDashDotDot’}

border = Border(top=xian, bottom=xian, left=xian, right=xian)

top(上),bottom(下),left(左),right(右):必须是 Side类型 diagonal: 斜线 side类型 diagonalDownd: 右斜线 bool diagonalDown: 左斜线 bool “”"

但此时,想用cell_range.border=border 就出错了,因为cell_range选中多个单元格,返回的是一个元组,只能遍历,用如下方法可以遍历:

for cellnum in cell_range:  #返回一个二维元组,一个元组是一行
    for cellnum1 in cellnum:
        cellnum1.border=border

OK,操作成功!!!

经验分享 程序员 微信小程序 职场和发展