python实现excel动态数据格式化导出pdf

0.需求:根据excel另外一个sheet页面的几十万的表的某些列的数据,基于excel模板sheet页的字段对应,每行生成一个优美的pdf.

1.核心代码如下:

def exportPdf(retMap, i,txt,totalCount):
    path_wkthmltopdf = 'wkhtmltopdf.exe'
    config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
    htmlCode = ''
    with open('./template.htm', 'r', encoding='utf8', errors='ignore') as f:
        htmlCode = f.read()

    # 替换关键字
    for k, v in retMap.items():
        htmlCode = htmlCode.replace(k, str(v))
        htmlCode = htmlCode.replace(k.replace('_','-'), str(v))

        # print(k,str(v))
    #替换币种
    htmlCode=htmlCode.replace('# ', retMap['dill_flag'] + ' ')
    #替换当前时间
    htmlCode=htmlCode.replace('current_date',retMap['current_date'])
    #命名
    fname=f"{i+1} invoice({retMap['order_id']}).pdf"
    pdfkit.from_string(htmlCode,fname , configuration=config)
    import os
    print('目录--------',os.getcwd())
    txt.SetLabel('已完成{} %'.format((i+1)/totalCount*100))
    print(' {} 完成'.format(fname))

2.excel模板及数据格式如下:

3.导出pdf效果及工具界面(支持批量生成):

微信交流 6686496 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空getmoney

微信6686496

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值