一 Workbook类
1 点睛
Workbook类定义:Workbook(filename[,options]),该类实现创建一个XlsxWriter的Workbook对象。
Workbook类代表整个电子表格文 件,并且存储在磁盘上。
filename(String类型)为创建的Excel文件 存储路径;
options(Dict类型)为可选的Workbook参数,一般作为初始化工作表内容格式,例如值为{'strings_to_numbers':True}表示使用 worksheet.write()方法时激活字符串转换数字。
2 add_worksheet([sheetname])
2.1 点睛
作用是添加一个新的工作 表,参数sheetname(String类型)为可选的工作表名称,默认为Sheet1。
2.2 代码
#coding: utf-8
import xlsxwriter
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo2.xlsx')
worksheet1 = workbook.add_worksheet() # Sheet1
worksheet2 = workbook.add_worksheet('Foglio2') # Foglio2
worksheet3 = workbook.add_worksheet('Data') # Data
worksheet4 = workbook.add_worksheet() # Sheet4
#关闭Excel文件
workbook.close()
2.3 效果
3 add_format([properties])
3.1 点睛
作用是在工作表中创建一个新的格式对象来格式化单元格。
参数properties(dict类型)为指定一个格式属性的字典,例如设置一个加粗的格式对象, workbook.add_format({'bold':True})。
通过Format methods(格式化方法)也可以实现格式的设置,等价的设置加粗格式代码如下:
bold = workbook.add_format()
bold.set_bold()
更多格式化方法见 http://xlsxwriter.readthedocs.org/working_with_formats.html
3 add_chart(options)
3.1 点睛
作用是在工作表中创建一个图表对象,内部是通过insert_chart()方法来实现,参数options(dict类型)为图表指定一个字典属性,例如设置一个线条类型的图表对象,代码为
chart=workbook.add_chart({'type':'line'})
4 close()
作用是关闭工作表文件,如workbook.close()。
二 Worksheet类
1 点睛
Worksheet类代表了一个Excel工作表,是XlsxWriter模块操作Excel内容最核心的一个类,例如将数据写入单元格或工作表格式布局等。 Worksheet对象不能直接实例化,取而代之的是通过Workbook对象调用 add_worksheet()方法来创建。Worksheet类提供了非常丰富的操作 Excel内容的方法。
2 write(row,col,*args)
作用是写普通数据到工作表的单 元格,参数row为行坐标,col为列坐标,坐标索引起始值为0;*args无名字参数为数据内容,可以为数字、公式、字符串或格式对象。
3 write_string()
写入字符串类型数据,例如:worksheet.write_string(0, 0, 'Your text here')
4 write_number()
写入数字类型数据,例如:worksheet.write_number('A2', 2.3451)
5 write_blank()
写入空类型数据,例如:worksheet.write('A2', None)
6 write_formula()
写入公式类型数据,例如:worksheet.write_formula(2, 0, '=SUM(B1:B5)')
7 write_datetime()
写入日期类型数据,例如:worksheet.write_datetime(7, 0,datetime.datetime.strptime('2013-01-23', '%Y-%m-%d'),workbook.add_format({'num_format': 'yyyy-mm-dd'}))
8 write_boolean()
写入逻辑类型数据,例如:worksheet.write_boolean(0, 0, True)
9 write_url()
写入超链接类型数据,例如:worksheet.write_url('A1', 'ftp://www.python.org/')
10 实战
10.1 代码
#coding: utf-8
import xlsxwriter
import math
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo3.xlsx')
worksheet = workbook.add_worksheet() # Sheet
worksheet.write(0,0, 'Hello') # write_string()
worksheet.write(1,0,'World') # write_string()
worksheet.write(2, 0, 2) # write_number()
worksheet.write(3, 0, 3.00001) # write_number()
worksheet.write(5, 0, '') # write_blank()
worksheet.write(6, 0, None) # write_blank()
#关闭Excel文件
workbook.close()
10.2 结果
11 set_row(row,height,cell_format,options)
作用是设置行单元格的属性。
row(int类型)指定行位置,起始下标为0;
height(float类型)设置行高,单位像素;
cell_format(format类型)指定格式对象;
options(dict类型)设置行hidden(隐藏)、 level(组合分级)、collapsed(折叠)。
11.1 代码
#coding: utf-8
import xlsxwriter
import math
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo4.xlsx')
worksheet = workbook.add_worksheet() # Sheet1
worksheet.write('A1','Hello') #在A1单元格写入'Hello'字符串
cell_format = workbook.add_format({'bold':True}) #定义一个加粗的格式对象
worksheet.set_row(0, 40, cell_format) #设置第1行单元格高度为40像素,且引用加粗格式对象
worksheet.set_row(1,None,None,{'hidden':True}) #隐藏第2行单元格
#关闭Excel文件
workbook.close()
11.2 结果
12 set_column(first_col,last_col,width,cell_format,options)
作用为设置一列或多列单元格属性。
first_col(int类型)指定 开始列位置,起始下标为0;
last_col(int类型)指定结束列位置, 起始下标为0,可以设置成与first_col一样;
width(float类型)设置 列宽;
cell_format(Format类型)指定格式对象;
options(dict 类型)设置行hidden(隐藏)、level(组合分级)、collapsed(折 叠)。
12.1 代码
#coding: utf-8
import xlsxwriter
import math
#创建一个Excel文件
workbook = xlsxwriter.Workbook('demo5.xlsx')
worksheet = workbook.add_worksheet() # Sheet1
worksheet.write('A1','Hello') #在A1单元格写入'Hello'字符串
worksheet.write('B1', 'World') #在B1单元格写入'World'字符串
# 定义一个加粗的格式对象
cell_format = workbook.add_format({'bold':True})
# 设置0到1即(A到B) 列单元格宽度为10像素,且引用加粗格式对象
worksheet.set_column(0,1,10,cell_format)
worksheet.set_column('C:D',20) #设置C到D列单元格宽度为20像素
worksheet.set_column('E:G',None,None,{'hidden':1}) #隐藏E到G列单元格
#关闭Excel文件
workbook.close()
12.2 结果
13 insert_image(row,col,image[,options])
作用是插入图片到指定单元格,支持PNG、JPEG、BMP等图片格式。
row为行坐标,
col为列坐标,坐标索引起始值为0;
参数image(string类型)为图片路径;
参数options(dict类型)为可选参数,作用是指定图片的位 置、比例、链接URL等信息。