1.workbook类
add_worksheet
用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:
worksheet = workbook.add_worksheet()
worksheet = workbook.add_worksheet('测试详情')
add_format
用于在工作表中创建一个新的格式对象来格式化单元格
bold = workbook.add_format({
'bold': 1, #字体加粗
'fg_color': 'green', #单元格背景颜色
'align': 'center', #对齐方式
'valign': 'vcenter', #字体对齐方式
})
add_chart
用于在工作表中创建一个图表对象,内部通过insert_chart()方法来实现,参数为dict类型。
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)
# 设置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)方法:是用来将普通数据写入单元格中(行标、列标、内容、单元格格式)
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方法创建。
chart1 = workbook.add_chart({'type':'column'}) #选择竖状图
常见的图表样式如下:
area:面积样式的图表
bar:条形图
column:柱状图
line:线条样式的图表
pie:饼形图
scatter:散点图
stock:股票样式的图表
radar:雷达样式的图表
3.实例
#!/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
出处:
以上就是python xlsxwriter模块的使用的详细内容,更多关于python xlsxwriter模块的资料请关注萬仟网其它相关文章!
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!