from
datetime
import
datetime
style0
=
xlwt
.
easyxf
(
'font: name Times New Roman, color-index red, bold on'
,
num_format_str
=
'#,##0.00'
)
style1
=
xlwt
.
easyxf
(
num_format_str
=
'D-MMM-YY'
)
wb
=
xlwt
.
Workbook
(
)
ws
=
wb
.
add_sheet
(
'A Test Sheet'
)
ws
.
write
(
0
,
0
,
1234.56
,
style0
)
ws
.
write
(
1
,
0
,
datetime
.
now
(
)
,
style1
)
ws
.
write
(
2
,
0
,
1
)
ws
.
write
(
2
,
1
,
1
)
ws
.
write
(
2
,
2
,
xlwt
.
Formula
(
"A3+B3"
)
)
wb
.
save
(
'example.xls'
)
追加写入新数据
背景
:想要添加写入数据到已经存在的
Excel
的
xls
文件,即打开excel文件,写入新数据
想要往已经存在的xls文件中,写入新的行,新的数据,对应的逻辑为:
用
xlrd.open_workbook
打开已有的xsl文件
-
注意:添加参数
formatting_info=True
,得以保存之前数据的格式
-
然后用
from xlutils.copy import copy
拷贝出原有数据
-
copy
去从打开的
xlrd
的
Book
变量中,拷贝出一份,成为新的
xlwt
的
Workbook
变量
-
对xlwt的Workbook变量的正常的操作
-
通过get_sheet去获得对应的sheet
-
拿到sheet变量后,就可以往sheet中,写入新的数据
-
写完新数据后,最终save保存
import xlwt
import xlrd
from xlutils.copy import copy
styleBoldRed = xlwt.easyxf('font: color-index red, bold on')
headerStyle = styleBoldRed
wb = xlwt.Workbook()
ws = wb.add_sheet(gConst['xls']['sheetName'])
ws.write(0, 0, "Header", headerStyle)
ws.write(0, 1, "CatalogNumber", headerStyle)
ws.write(0, 2, "PartNumber", headerStyle)
wb.save(gConst['xls']['fileName'])
oldWb = xlrd.open_workbook(gConst['xls']['fileName'], formatting_info=True)
print oldWb
newWb = copy(oldWb)
print newWb
newWs = newWb.get_sheet(0)
newWs.write(1, 0, "value1")
newWs.write(1, 1, "value2")
newWs.write(1, 2, "value3")
print "write new values ok"
newWb.save(gConst['xls']['fileName'])
print "save with same name ok"