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

功能说明:
设置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)#将读取的数据写入excelfor i in range(0, index):# #设置行高new_work_sheet.row(i+rows_old).height_mismatch = Truenew_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 * 21elif i == 1 :new_work_sheet.write(i + rows_old, j, value[i][j], style=stylei_2)new_work_sheet.col(j).width = 256 * 21else: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 = borderborders.right = borderborders.top = borderborders.bottom = border# 样式居中alignment = xlwt.Alignment()alignment.horz = xlwt.Alignment.HORZ_CENTERalignment.vert = xlwt.Alignment.VERT_CENTER# 字体样式font = xlwt.Font()# 为样式创建字体font.name = font_namefont.bold = boldfont.height = font_size#样式stylei.pattern = patterni# 背景色stylei.borders = borders# 边框stylei.alignment = alignment# 居中stylei.font = fontreturn 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_contentwrite_excel_append(excel_file_name,test)执行:
 

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

文章插图
 
测试结果:
python设置excel表格高度、宽度、背景颜色、字体样式/大小/粗细

文章插图
 

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


    推荐阅读