龙空技术网

python设置excel表格高度、宽度、背景颜色、字体样式/大小/粗细

代码碎片 175

前言:

现时小伙伴们对“如何修改python字体大小”大致比较珍视,大家都需要剖析一些“如何修改python字体大小”的相关资讯。那么小编也在网络上网罗了一些有关“如何修改python字体大小””的相关内容,希望同学们能喜欢,朋友们一起来学习一下吧!

功能说明:

设置excel的属性:表格的宽度和高度,以及背景色(2红色/3绿色/4蓝色/5黄色)、边框样式(细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线)、字体(微软雅黑/宋体)、字体大小(字体大小,20为字号),字体粗细(Ture加粗/False不加粗),并将数据追加写入excel中,应用场景:可作为简单的测试报告模板使用

代码:

import xlwtimport xlrdfrom xlutils.copy import copyimport time,osdef write_excel_append(file_name,value):    if os.path.exists('%s'%file_name):        pass        #print ("文件已存在")    else:        #print ("文件不存在,新建excel")        add_excel = xlwt.Workbook()        #xlwt.add_palette_colour("custom_colour", 0x21)        excel_sheet_name = 'result'        sheet = add_excel.add_sheet(excel_sheet_name)        add_excel.save(file_name)    try:        #获取需要写入数据的行数        index = len(value)          #print ("写入数据的行数:%s"%index)        # 获取工作簿中的所有表格        work_book = xlrd.open_workbook(file_name,formatting_info=True)  # 保留原有的格式打开工作簿        all_sheets = work_book.sheet_names()          #print (all_sheets)        # 获取表格中已存在的数据的行数        work_sheet = work_book.sheet_by_name(all_sheets[0])  # 获取工作簿中所有表格中的的第一个表格        rows_old = work_sheet.nrows         #print ("表格中已存在的数据的行数%s"%rows_old)        # 将xlrd对象拷贝转化为xlwt对象        new_work_book = copy(work_book)          new_work_sheet = new_work_book.get_sheet(0)  # 获取转化后工作簿中的第一个表格        #set_excel 方法使用:set_excel(背景色, 边框样式, '字体','字体大小','字体加粗')        #首行样式        stylei_1 = set_excel(5, 1, '微软雅黑', 220, bold=True)        #第二行样式        stylei_2 = set_excel(27, 1, '微软雅黑', 220, bold=True)        #其他行样式        styleok = set_excel(1,1, '微软雅黑', 220, bold=False)        #将读取的数据写入excel        for i in range(0, index):            # #设置行高            new_work_sheet.row(i+rows_old).height_mismatch = True            new_work_sheet.row(i+rows_old).height = 20 * 20  # 20为基准数,40意为40磅            for j in range(0, len(value[i])):                if i == 0 :                    # 追加写入数据,并设置单元格颜色                    new_work_sheet.write(i+rows_old, j, value[i][j], style=stylei_1)                    #设置列宽                    new_work_sheet.col(j).width = 256 * 21                elif i == 1 :                    new_work_sheet.write(i + rows_old, j, value[i][j], style=stylei_2)                    new_work_sheet.col(j).width = 256 * 21                else:                    new_work_sheet.write(i + rows_old, j, value[i][j], style=styleok)        new_work_book.save(file_name)  # 保存工作簿        #print("xls格式表格【追加】写入数据成功!")    except Exception as e:        print ('写入数据失败:',e)def set_excel(col,border,font_name,font_size,bold):    # 初始化样式    stylei = xlwt.XFStyle()    # 配置单元格颜色    patterni = xlwt.Pattern()  # 为样式创建图案    patterni.pattern = 1  # 设置底纹的图案索引,1为实心,2为50%灰色    patterni.pattern_fore_colour = col # 设置底纹的前景色    patterni.pattern_back_colour = 5  # 设置底纹的背景色    # 为样式创建边框,border为边框线样式1为实线    borders = xlwt.Borders()    borders.left = border    borders.right = border    borders.top = border    borders.bottom = border    # 样式居中    alignment = xlwt.Alignment()    alignment.horz = xlwt.Alignment.HORZ_CENTER    alignment.vert = xlwt.Alignment.VERT_CENTER    # 字体样式    font = xlwt.Font()  # 为样式创建字体    font.name = font_name    font.bold = bold    font.height = font_size    #样式    stylei.pattern = patterni  # 背景色    stylei.borders = borders  # 边框    stylei.alignment = alignment  # 居中    stylei.font = font    return styleiif __name__ == '__main__':    excel_file_name = 'test.xls'        tabal_title = [["标题"]]        tabal_content = [["内容1", "内容2", "内容3", "内容4", "内容5"],                      ["内容6", "内容7", "内容8", "内容9", "内容10"]]    test = tabal_title+tabal_content    write_excel_append(excel_file_name,test)

执行:

测试结果:

标签: #如何修改python字体大小