在原有表格基础上面进行添加内容修改格式等操作

链接地址:https://www.cnblogs.com/iamjianghao/p/10826297.html

# coding:utf-8
import xlrd
from xlutils.copy import copy


def fix_excel(index, name, infos):
    # 打开想要更改的excel文件,保留原格式
    old_excel = xlrd.open_workbook('app/templates/xxx信息表.xls', formatting_info=True)
    # 将操作文件对象拷贝,变成可写的workbook对象
    new_excel = copy(old_excel)

    ws_info_map = {}

    for i in range(1, 13):
        if i == 7:
            continue
        if i > 7:
            ws_info_map[i] = infos[i - 2]
            continue
        ws_info_map[i] = infos[i - 1]

    # 获得第一个sheet的对象,就是excel表中的sheet0,sheet1...
    ws = new_excel.get_sheet(int(index))
    # 设置单元格的边框,上下左右都是实线
    borders = xlwt.Borders()
    borders.top = xlwt.Borders.THIN
    borders.bottom = xlwt.Borders.THIN
    borders.right = xlwt.Borders.THIN
    borders.left = xlwt.Borders.THIN
    # 设置单元格样式
    style = xlwt.XFStyle()
    # 将边框属性赋值给单元格样式
    style.borders = borders
    # 写入数据  可以可以,就是这个模板了
    for index, value in ws_info_map.items():
        # 写入单元格数据的时候,调用单元格的样式设置
        ws.write(index, 2, value, style=style)

    # 另存为excel文件,并将文件命名
    new_excel.save(''.join(['./', name, '信息表', '.xls']))

 

posted @ 2020-04-26 09:57  砚台是黑的  阅读(712)  评论(0编辑  收藏  举报