Xlsx是python用来构造xlsx文件的模块,可以向excel2007+中写text,numbers,formulas 公式以及hyperlinks超链接。可以完成xlsx文件的自动化构造,包括:合并单元格,制作excel图表等功能:

1,Introduction:xlsxWriter支持多种excle功能;与excel完美兼容;写大文件,速度快且只占用很小的内存空间不支持读或者改现有的excel文件2, Installing:sudo pip install XlsxWriter;sudo easy_install XlsxWriter;或者源码安装:
http://github.com/jmcnamara/XlsxWriter/archive/master.tar.gz3,使用:
import xlsxwriter
workbook = xlsxwriter.Workbook('hello.xlsx'
) # 建立文件
worksheet =
workbook.add_worksheet() # 建立sheet, 可以work.add_worksheet('employee')来指定sheet名,但中文名会报UnicodeDecodeErro的错误
worksheet.write('A1', 'Hello world'
) # 向A1写入
workbook.close()
excel公式计算1234567891011121314151617181920212223
expenses
=
(
[
'Rent'
,
1000
],
[
'Gas'
,
100
],
[
'Food'
,
300
],
[
'Gym'
,
50
],
)
row
=
0
col
=
0
for
item, cost
in
(expenses):
worksheet.write(row, col, item)
worksheet.write(row, col
+
1
, cost)
row
+
=
1
worksheet.write(row,
0
,
'Total'
)
worksheet.write(row,
1
,
'=SUM(B1:B4)'
)
workbook.close()
excel自定义格式:
import xlsxwriter
# 建文件及sheet.
workbook = xlsxwriter.Workbook(
'Expenses02.xlsx')
worksheet =
workbook.add_worksheet()
# Add a bold format to use to highlight cells. 设置粗体,默认是False
bold = workbook.add_format({
'bold': True})
# Add a number format for cells with money. 定义数字格式
money = workbook.add_format({
'num_format':
'$#,##0'})
# Write some data headers. 带自定义粗体blod格式写表头
worksheet.write(
'A1',
'Item', bold)
worksheet.write('B1',
'Cost', bold)
# Some data we want to write to the worksheet.
expenses =
(
['Rent', 1000
],
['Gas', 100
],
['Food', 300
],
['Gym', 50
],
)
# Start from the first cell below the headers.
row = 1
col =
0
# Iterate over the data and write it out row by row.
for item, cost
in (expenses):
worksheet.write(row, col, item) # 带默认格式写入
worksheet.write(row, col + 1
, cost, money) # 带自定义money格式写入
row += 1
# Write a total using a formula.
worksheet.write(row, 0,
'Total', bold)
worksheet.write(row, 1,
'=SUM(B2:B5)', money)
workbook.close()
excel写入时间格式 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
from
datetime
import
datetime
import
xlsxwriter
workbook
=
xlsxwriter.Workbook(
'Expenses03.xlsx'
)
worksheet
=
workbook.add_worksheet()
bold
=
workbook.add_format({
'bold'
:
1
})
money_format
=
workbook.add_format({
'num_format'
:
'$#,##0'
})
date_format
=
workbook.add_format({
'num_format'
:
'mmmm d yyyy'
})
worksheet.set_column(
1
,
1
,
15
)
worksheet.write(
'A1'
,
'Item'
, bold)
worksheet.write(
'B1'
,
'Date'
, bold)
worksheet.write(
'C1'
,
'Cost'
, bold)
expenses
=
(
[
'Rent'
,
'2013-01-13'
,
1000
],
[
'Gas'
,
'2013-01-14'
,
100
],
[
'Food'
,
'2013-01-16'
,
300
],
[
'Gym'
,
'2013-01-20'
,
50
],
)
row
=
1
col