Python Excel操作之xlwt创建表格

2018年4月21日21:56:56 发表评论 915 views

在处理excel数据时发现了xlwt的局限性–不能写入超过65535行、256列的数据(因为它只支持Excel 2003及之前的版本,在这些版本的Excel中行数和列数有此限制),这对于实际应用还是不够的。为此经过一番寻找发现了一个支持07/10/13版本Excel的openpyxl,虽然功能很强大,但是操作起来感觉没有xlwt方便。
Python Excel操作之xlwt创建表格:

#Python Excel操作之xlwt创建表格
import xlwt
#新建一个Excel文件(只能通过新建写入)
data=xlwt.Workbook()
#新建一个工作表
table=data.add_sheet('name')
#写入数据到A1单元格
#初始化样式
style=xlwt.XFStyle()
style1=xlwt.XFStyle()
borders= xlwt.Borders()
borders.left= 1
borders.right= 1
borders.top= 1
borders.bottom= 1
#为样式创建字体
font=xlwt.Font()

#指定字体名字
font.name='Times New Roman'

#字体加粗
font.bold=True

#将该font设定为style的字体
style.font=font
style.borders=borders

style1.borders = borders
table.write(5,0,u'Python Excel操作之xlwt创建表格',style)
tabletitle=['姓名','年龄','职业']
tableA=['张三','李四','王五','麻子']
tableB=['30','28','18','26']
tableC=['工程师','学生','学生','老师']
for i in range(0,len(tabletitle)):
    table.write(0,i,tabletitle[i],style)
for j in range(0, len(tableA)):
    table.write(j+1, 0, tableA[j],style1)
for k in range(0, len(tableB)):
    table.write(k+1, 1, tableB[k],style1)
for l in range(0, len(tableC)):
    table.write(l+1, 2, tableC[l],style1)



#注意:如果对同一个单元格重复操作,会引发overwrite Exception,想要取消该功能,需要在添加工作表时指定为可覆盖,像下面这样
#table=data.add_sheet('name',cell_overwrite_ok=True)
#保存文件
data.save('test.xls')
#这里只能保存扩展名为xls的,xlsx的格式不支持

运行结果:

Python Excel操作之xlwt创建表格

 

51changxue

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: