xlsxwriter 导入json数据自动生成excel表格

xlsxwriter自动生成excel表格

支持自定义格式,行列合并,行高列宽(见main set_rc)

import xlsxwriter
import math
import time

# 设置excel格式集合
class Xlsx_Style:
    __cell_style_keys=[]
    __row_col_style_funcs=[]
    def __init__(self,work_book:xlsxwriter.Workbook):
        self.work_book=work_book
        self.formats = {
   }

        format_title = self.work_book.add_format({
   
            'bold': 1,  # 字体加粗
            'border': 1,  # 单元格边框宽度
            'align': 'center',  # 水平对齐方式
            'valign': 'vcenter',  # 垂直对齐方式
            'bg_color':'#DBE4E3',  # 单元格背景颜色

        })
        self.formats.setdefault('title', format_title)

        format_text = self.work_book.add_format({
   
            'border': 1,
            'align': 'center',
            'valign': 'vcenter',
        })
        self.formats.setdefault('text', format_text)

        format_err = self.work_book.add_format({
   
            'bg_color': '#DC143C',
            'border': 1,
            'align': 'center',
            'valign': 'vcenter',
        })
        self.formats.setdefault('erro', format_err)




    def get_styles(self):
        return self.formats



class Xlsx:

    __merger_mode = ['cols','rows','cols:rows']
    __cell_style = {
   "value" : "","style":""}
    def __init__(self, work_book_json:dict,):
        #  Create an excel file
        self.name = work_book_json['name']
        self.path = work_book_json['path']
        self.sheets = work_book_json['sheets']
        self.work_book = xlsxwriter.Workbook(self.path + self.name + ".xlsx", {
   'strings_to_numbers': True})
        self.sheets_tmp_var = {
   }
        self.Styles = Xlsx_Style(self.work_book).get_styles()


    def chr2int(self, colmod:str):
        charlist = [ord(v) - 64 for v in [x for x in colmod]] if len(colmod) > 1 else [ord(colmod) - 6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值