1.workbook类
add_worksheet
用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:
1
2
|
worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet( '测试详情' )
|
add_format
用于在工作表中创建一个新的格式对象来格式化单元格
1
2
3
4
5
6
|
bold = workbook.add_format({
'bold' : 1 , #字体加粗
'fg_color' : 'green' , #单元格背景颜色
'align' : 'center' , #对齐方式
'valign' : 'vcenter' , #字体对齐方式
})
|
add_chart
用于在工作表中创建一个图表对象,内部通过insert_chart()方法来实现,参数为dict类型。
1
|
chart1 = workbook.add_chart({ 'type' : 'column' }) #选择竖状图
|
设置sheet表单元格的行高和列宽
set_row(row, height)方法,用于设定某一行单元格的行高
(row:指定行位置,起始下标为0;height:为float类型,设定行高,单位像素)
set_column(first_col, last_col, width)方法,用于设置一列或多列单元格的列宽
(irst_col:整型,指定开始列位置,起始下标为0;last_col:整型,指定结束列位置,起始下标为0;width:float类型,设置列宽)
set_column(“first_col:last_col”, width)方法(first_col和last_col用英文字母表示列名,起始为A)
1
2
3
4
5
6
7
8
|
# 设置sheet表单元格列宽
ws.set_column( 0 , 3 , 40 ) #设定第1到4列的列宽为40
ws.set_column( "A:A" , 40 ) #设定A列列宽为40
ws.set_column( "B:D" , 15 ) #设定B、C、D三列的列宽为15
ws.set_column( "E:F" , 50 ) #设定E、F列的列宽为50
#设置sheet表单元格行高
ws.set_row( 0 , 40 ) #设置第一行的高度为40
|
向单元格中写入内容:write
write(row, col, data,cell_format)方法:是用来将普通数据写入单元格中(行标、列标、内容、单元格格式)
1
2
3
4
5
6
7
8
9
10
|
write.string():写入字符串类型数据
wirte_number():写入数字型数据
write_blank():写入空类型数据
write_formula():写入公式型数据
write_datetime():写入日期型数据
wirte_boolean():写入逻辑型数据
write_url():写入超链接型数据
# 示例:
ws.write( 1 , 1 , "python操作excel" ) #在单元格1行1列中写入:“python操作excel”
|
2.chart类
chart类实图表组件,通过workbook的add_chart方法创建。
1
|
chart1 = workbook.add_chart({ 'type' : 'column' }) #选择竖状图
|
常见的图表样式如下:
- area:面积样式的图表
- bar:条形图
- column:柱状图
- line:线条样式的图表
- pie:饼形图
- scatter:散点图
- stock:股票样式的图表
- radar:雷达样式的图表
3.实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'Yinjia'
import xlsxwriter
#生成.xlsx文件
workbook = xlsxwriter.Workbook( 'test_table.xlsx' )
#工作页
worksheet = workbook.add_worksheet( '测试详情' )
worksheet.set_tab_color( 'red' )
#准备测试数据
bold = workbook.add_format({
'bold' : 1 , #字体加粗
'fg_color' : 'green' , #单元格背景颜色
'align' : 'center' , #对齐方式
'valign' : 'vcenter' , #字体对齐方式
})
headings = [ 'Number' , 'Batch1' , 'Batch2' ] #设置表头
data = [
[ 2 , 3 , 4 , 5 , 6 , 7 ],
[ 10 , 40 , 50 , 20 , 10 , 50 ],
[ 30 , 60 , 70 , 50 , 40 , 30 ],
]
#插入数据
worksheet.write_row( 'A1' ,headings,bold) #行插入操作
worksheet.write_column( 'A2' ,data[ 0 ]) #列插入操作
worksheet.write_column( 'B2' ,data[ 1 ])
worksheet.write_column( 'C2' ,data[ 2 ])
#插入直方图1
chart1 = workbook.add_chart({ 'type' : 'column' }) #选择竖状图
chart1.add_series({
'name' : '=测试详情!$B$1' ,
'categories' : '=测试详情!$A$2:$A$7' ,
'values' : '=测试详情!$B$2:$B$7' , #Y轴值
'data_labels' : { 'value' : True } #显示数字,就是直方图上面的数字,默认不显示
})
#注意上面写法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作页, $A$2:$A$7是从A2到A7数据,
#插入直方图2
chart1.add_series({
'name' : '=测试详情!$B$1' ,
'categories' : '=测试详情!$A$2:$A$7' ,
'values' : '=测试详情!$C$2:$C$7' , #Y轴值
'data_labels' : { 'value' : True }
})
chart1.set_title({ 'name' : 'Chart with Data Table' }) #直方图标题
chart1.set_x_axis({ 'name' : 'Test number' }) #X轴描述
chart1.set_y_axis({ 'name' : 'Sample length (mm)' }) #Y轴描述
chart1.set_table() #设置x轴为数据表格式
chart1.set_style( 3 ) #直方图类型
worksheet.insert_chart( 'D2' , chart1, { 'x_offset' : 25 , 'y_offset' : 10 }) #直方图插入到 D2位置
workbook.close()
|
4.效果图
作者:YinJia
出处:http://www.cnblogs.com/yinjia/
以上就是python xlsxwriter模块的使用的详细内容,更多关于python xlsxwriter模块的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/yinjia/p/9398319.html