python xlsxwriter dict_python_xlsxwriter模块

1.workbook类

add_worksheet

用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:

1 worksheet =workbook.add_worksheet()2 worksheet = workbook.add_worksheet('测试详情')

add_format

用于在工作表中创建一个新的格式对象来格式化单元格

1 bold =workbook.add_format({2 'bold': 1, #字体加粗

3 'fg_color': 'green', #单元格背景颜色

4 'align': 'center', #对齐方式

5 'valign': 'vcenter', #字体对齐方式

6 })

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)

1 #设置sheet表单元格列宽

2 ws.set_column(0,3,40) #设定第1到4列的列宽为40

3 ws.set_column("A:A", 40) #设定A列列宽为40

4 ws.set_column("B:D", 15) #设定B、C、D三列的列宽为15

5 ws.set_column("E:F", 50) #设定E、F列的列宽为50

6

7 #设置sheet表单元格行高

8 ws.set_row(0,40) #设置第一行的高度为40

向单元格中写入内容:write

write(row, col, data,cell_format)方法:是用来将普通数据写入单元格中(行标、列标、内容、单元格格式)

1 write.string():写入字符串类型数据2 wirte_number():写入数字型数据3 write_blank():写入空类型数据4 write_formula():写入公式型数据5 write_datetime():写入日期型数据6 wirte_boolean():写入逻辑型数据7 write_url():写入超链接型数据8

9 #示例:

10 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.实例

1 #!/usr/bin/env python

2 #_*_ coding:utf-8 _*_

3 __author__ = 'Yinjia'

4

5 importxlsxwriter6

7 #生成.xlsx文件

8 workbook = xlsxwriter.Workbook('test_table.xlsx')9 #工作页

10 worksheet = workbook.add_worksheet('测试详情')11 worksheet.set_tab_color('red')12

13 #准备测试数据

14 bold =workbook.add_format({15 'bold': 1, #字体加粗

16 'fg_color': 'green', #单元格背景颜色

17 'align': 'center', #对齐方式

18 'valign': 'vcenter', #字体对齐方式

19 })20 headings = ['Number','Batch1','Batch2'] #设置表头

21 data =[22 [2,3,4,5,6,7],23 [10,40,50,20,10,50],24 [30,60,70,50,40,30],25 ]26

27 #插入数据

28 worksheet.write_row('A1',headings,bold) #行插入操作

29 worksheet.write_column('A2',data[0]) #列插入操作

30 worksheet.write_column('B2',data[1])31 worksheet.write_column('C2',data[2])32

33 #插入直方图1

34 chart1 = workbook.add_chart({'type':'column'}) #选择竖状图

35 chart1.add_series({36 'name': '=测试详情!$B$1',37 'categories': '=测试详情!$A$2:$A$7',38 'values': '=测试详情!$B$2:$B$7',#Y轴值

39 'data_labels': {'value': True} #显示数字,就是直方图上面的数字,默认不显示

40 })41

42 #注意上面写法 '=Sheet1!$B$2:$B$7' Sheet1是指定工作页, $A$2:$A$7是从A2到A7数据,

43 #插入直方图2

44 chart1.add_series({45 'name': '=测试详情!$B$1',46 'categories': '=测试详情!$A$2:$A$7',47 'values': '=测试详情!$C$2:$C$7',#Y轴值

48 'data_labels': {'value': True}49 })50

51 chart1.set_title({'name': 'Chart with Data Table'}) #直方图标题

52 chart1.set_x_axis({'name': 'Test number'}) #X轴描述

53 chart1.set_y_axis({'name': 'Sample length (mm)'})#Y轴描述

54 chart1.set_table() #设置x轴为数据表格式

55 chart1.set_style(3)#直方图类型

56 worksheet.insert_chart('D2', chart1, {'x_offset': 25, 'y_offset': 10}) #直方图插入到 D2位置

57 workbook.close()

4.效果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值