使用python中的xlwt模块将打印内容保存为xls格式文件

更新时间:2020-11-10 14:11:33 点击次数:1033次
代码如下

import xlwt

wb = xlwt.Workbook()
st = wb.add_sheet("Basic Info")
style = xlwt.XFStyle()                   #创建一个样式对象,初始化样式


al = xlwt.Alignment()                    #设置对齐方式
al.horz = 0x02                           #horizontal:水平的
al.vert = 0x01                           #vertical:垂直的

style.alignment = al

style2 = xlwt.easyxf("font:bold on")     #给字体加粗
style2.alignment = al

title = [u"ID",u"Name",u"Gender",u"Category",u"Paper"]
for i in range(0,len(title)):            #程序遍历列表“title”中的每个元素,然后,,,,,,
    st.write(0,i,title[i],style2)        #依次写入到第0行第i列,标题在表中的列次跟其在列表中的顺序有关,比如name标题肯定在Excel表第一列
name = [u"许晴晴",u"甄心怡",u"金逸轩",u"王一鸣",u"王嘉庚",u"董守义",u"何菲菲",u"戴丽萍",u"肖艳楠"]
for j in range(0,len(name)):
    st.write(j+1,1,name[j],style)
gender = [u"Female",u"Female",u"Male",u"Male",u"Male",u"Male",u"Female",u"Female",u"Female"]
for k in range(0,len(gender)):
    st.write(k+1,2,gender[k],style)
category = [u"Master",u"Master",u"Master",u"PhD",u"Master",u"Master",u"Master",u"Master",u"Master"]
for l in range(0,len(category)):
    st.write(l+1,3,category[l],style)
Paper = [4,8,20,32,36,29,43,49,56]
for p in range(0,len(Paper)):
    st.write(p+1,4,Paper[p],style)
f = 0                                    #编号:从第一个人名开始算起,1开始
for h in range(0,len(name)):
    st.write(f+1,0,f+1,style)            #有多少个人名,编号就多大
    f += 1
    print(f,end = " ")                   #在同一行打印显示,数与数之间空一行

wb.save("c:\\test.xls")

实际效果

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!