创建表格自动填入数据 (批量创建带有表格工作表)

将由键盘输入的数据添加到工作表中,以244.xls保存。

import xlwings as xw
import datetime as dt
app=xw.App(visible=True,add_book=False)
wobo=app.books.add()                      #创建新的工作簿  
day=dt.datetime.now().day                #创建时间日期
month=dt.datetime.now().month           #创建时间月份
ts=str(month)+"月"+str(day)+"日"
she=wobo.sheets.add(ts)                  #创建新的工作表 
def Style():                               #设定工作表的格式
    fw1=she.range("A1:D1")               #设定范围
    fw1.api.Merge()                        #合并第一行单元格 
    fw1.value="超市营销记录"
    fw1.api.Font.Size=25
    fw1.api.HorizontalAlignment=-4108  #设置居中
    fw1.row_height=38.25
    fw2=she.range("A2:D2")
    fw2.value=["类目","单价","数量","总价"]
    fw2.api.HorizontalAlignment=-4108
    fw2.api.Font.Bold=True
    fw3=she.range("A2:D100")            #设置边界线
    fw3.api.Borders(11).LineStyle=1    #设置内部边框(垂直)
    fw3.api.Borders(11).Weight=2
    fw3.api.Borders(12).LineStyle=1    #设置内部边框(水平)
    fw3.api.Borders(12).Weight=2
Style()    
def inputdata(m):                        #接收键盘数据写入工作表
    for i in range(3,100):
        str1="A"+str(i)
        str2="D"+str(i)
        if she.range(str1).value==None:
            she.range(str1).value=strlist     #写入数据
            she.range(str2).value=float(strlist[1])*int(strlist[2])
            she.range(str1+":"+str2).api.HorizontalAlignment=-4108
            break
        else:
            continue
flag=True
print(" "*20,'===================')
print(" "*20,"请输入产品信息")            #提示信息
print(" "*20,"例如:怡宝 1.6 100")
print(" "*20,"结束输入ok并回车")
while flag:                                #死循环
    str3=input(" "*21+"请输入数据:")
    if str3=="ok":
        wobo.save(r"d:\abc\244.xls")    #保存文件
        wobo.close()                       #关闭工作簿
        app.quit()                         #退出工作簿
        flag=False
    else:
        strlist=str3.split(" ")    #以空格为间隔,转换为列表
        inputdata(strlist)          #调用自定义函数,将列表数据输入
        print(" "*20,'===================')

通过导入表格创建数据表,批量创建工作表并添加数据

通过导入表格创建数据表,批量创建工作表并添加数据

视频加载中...