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 import xlsxwriter
 6
 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.效果图

转载于:https://www.cnblogs.com/yinjia/p/9398319.html

python_xlsxwriter模块相关推荐

  1. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程

    1. etcd 项目结构和功能 etcd 项目代码的目录结构如下: $ tree ├── auth ├── build ├── client ├── clientv3 ├── contrib ├── ...

  2. OpenCV 笔记(01)— OpenCV 概念、整体架构、各模块主要功能

    1. OpenCV 概念 图像处理( Image Processing )是用计算机对图像进行分析, 以达到所需结果的技术, 又称影像处理. 图像处理技术一般包括图像压缩, 增强和复原, 匹配.描述和 ...

  3. Python 多线程总结(1)- thread 模块

    thread 模块 1. 单线程 首先看下单线程程序运行的例子,如下所示, import timedef loop0():print 'start loop0 begin', time.ctime() ...

  4. 关于python导入模块和package的一些深度思考

    背景 在python中有导入模块和导入package一说,这篇文章主要介绍导入模块和package的一些思考. 首先什么是模块?什么是package? 模块:用来从逻辑上组织python代码(变量,函 ...

  5. Python Re 模块超全解读!详细

    内行必看!Python Re 模块超全解读! 2019.08.08 18:59:45字数 953阅读 121 re模块下的函数 compile(pattern):创建模式对象 > import ...

  6. python性能分析之line_profiler模块-耗时,效率 时间

    20210203 直接用pycharm 自带的 20201215 直接装不上的情况下 先下载安装文件 再安装 line_profiler使用装饰器(@profile)标记需要调试的函数.用kernpr ...

  7. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  8. 关于python 中的__future__模块

    Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 具体说来就是,某个版本中出现了某个 ...

  9. GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态

    GPUtil是一个Python模块,使用nvidia-smi从NVIDA GPU获取GPU状态 一个Python模块,用于在Python中使用nvidia-smi以编程方式从NVIDA GPU获取GP ...

最新文章

  1. 曝光丨探访哈工大机器人的秘密基地(图)
  2. Web开发需弄懂的知识点(.NET)
  3. CozyRSS开发记录3-标题栏再加强
  4. Python中的函数概述
  5. java字符串的方法 1118
  6. 如何快速开发一个支持高效、高并发的分布式ID生成器(一)
  7. 电脑系统哪个最好用_小米MIUI领衔,目前最好用的几个安卓系统,你觉得哪个更好用?...
  8. 杂志html转换服务平台,Verypdf HTML Converter(网页转换器)
  9. php mac windows,苹果电脑是windows系统吗
  10. wordpress页面前端添加编辑按钮
  11. iOS最全学习资源汇总
  12. 线材检测项目(基于QT)
  13. IT运维审计系统是什么?有推荐的吗?
  14. Python基础教程(第三版)
  15. 赶紧收藏!网上疯传的150个ChatGPT「超级提问模型」,都在这里了
  16. 单例模式与反射的攻防之【 道高一尺,魔高一丈 】
  17. Java数据库篇之mysql VS postgresql
  18. 生成微信公众号对应二维码的两种简单方法
  19. 小米/红米手机如何通过USB数据线把手机网络共享给电脑
  20. 射频微波芯片设计5:电源旁路电容为何选择0.1uF 10uF?

热门文章

  1. Hive Fetch Task
  2. 数据库建模模板、菜单显示出问题解决方案
  3. 那些开源程序中让人叹为观止的代码 - 3 保持元素纵横比
  4. C语言程序设计第三次作业——选择结构(1)
  5. Linux 的文件和目录管理类命令
  6. Dialog外部点击事件
  7. Java parallel control
  8. JSON的使用・小结
  9. 转:Linux查看CPU信息、机器型号等硬件信
  10. python测试开发django-35.xadmin注册表信息