首页 > 其他 > 详细

代码自动生成Excel表格

时间:2021-05-20 09:56:00      阅读:19      评论:0      收藏:0      [点我收藏+]

在实际的工作中,经常会遇到,把一个表信息 颠过来倒过去的情况。这会产生大量的重复工作。

比如说:发货表里头记录了 很多客户发货订单信息。但是我们给客户发货的时候,需要制作一张送货单,告诉客户 货物的详情。

这个时候如果代码可以搞定,就可以减少很多不必要的工作啦!

截图比较随意,大致就是这个意思了。

下面是代码,截图太恶心了 不理解需求的可以看下。

import xlwings as xw

def delivery_doc(l,src,dst,model): wb = xw.Book(r%s%src) ws = wb.sheets["2021年"] ws.activate i = l[0] order_name = ws.range(c%s%i).value order_place = ws.range(f%s%i).value order_id = ws.range(p%s%i).value receiver = str(ws.range(g%s%i).value)+""+str(int(ws.range(h%s%i).value)) goods_name = ws.range(k%s%i).value goods_model = ws.range(l%s%i).value goods_amount = ws.range(m%s%i).value wb1 = xw.Book(r"%s"%model) ws1 = wb1.sheets[牙膏] ws1.range(c5).value = order_name ws1.range(g5).value = order_place ws1.range(c8).value = order_id ws1.range(g9).value = receiver ws1.range(b12).value = goods_name ws1.range(c12).value = goods_model ws1.range(d12).value = goods_amount for j in range(1,len(l)): i= l[j] order_name = ws.range(c%s%i).value order_place = ws.range(f%s%i).value order_id = ws.range(p%s%i).value receiver = str(ws.range(g%s%i).value)+""+str(int(ws.range(h%s%i).value)) goods_name = ws.range(k%s%i).value goods_model = ws.range(l%s%i).value goods_amount = ws.range(m%s%i).value if ws1.range(c5).value == order_name: if ws1.range(b12).value == goods_name: ws1.range(a%s%r).value += goods_amount r = 12 + j ws1.api.Rows(r).Insert() ws1.range(a%s%r).value = %s% (j+1) ws1.range(b%s%r).value = goods_name ws1.range(c%s%r).value = goods_model ws1.range(d%s%r).value = goods_amount ws1.range(e%s%r).value = ws1.name = order_place wb1.save(r%s\验收回执单-%s.xlsx%(dst,order_place)) wb1.close() wb.close() l = [40,41,42] src = E:\\Yzh\\3.16 中烟\\中烟订单操作\\湖北中烟发货表-2021年.xlsx dst = E:\\Yzh\\中烟\\5月 中烟\\5.13 中烟\\回执 model = "E:\\Yzh\\中烟\\5月 中烟\\5.13 中烟\\回执\\验收回执单-南平 牙膏.xlsx" delivery_doc(l,src,dst,model)

 

这里提炼几个xlwings 的常用方法:

# 插入一行 第十三行
ws1.api.Rows(13).Insert()

# 删除整行
ws1.range(a12).api.EntireRow.Delete()

# 复制sheet 页
ws1.api.Copy(After=ws1.api)

 

技术分享图片

 

 

 

技术分享图片

 

代码自动生成Excel表格

原文:https://www.cnblogs.com/Teyisang/p/14788161.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!