Xlsx是python用来构造xlsx文件的模块,可以向excel2007+中写text,numbers,formulas 公式以及hyperlinks超链接。

可以完成xlsx文件的自动化构造,包括:

合并单元格,制作excel图表等功能:

import xlsxwriter

# Create an new Excel file and add a worksheet.

workbook = xlsxwriter.Workbook('demo.xlsx') #创建工作簿

worksheet = workbook.add_worksheet() #创建工作表

# Widen the first column to make the text clearer.

worksheet.set_column('A:A', 20) #设置一列或者多列单元属性

# Add a bold format to use to highlight cells.

bold = workbook.add_format({'bold': True}) #在工作表中创建一个新的格式对象来格式化单元格,实现加粗

# Write some simple text.

worksheet.write('A1', 'Hello') #工总表写入简单文本

# Text with formatting.

worksheet.write('A2', 'World', bold) #工作表写入带有格式的文本,加粗

# Write some numbers, with row/column notation. #按照坐标写入

worksheet.write(2, 0, 123)

worksheet.write(3, 0, 123.456)

# Insert an image.

worksheet.insert_image('B5', 'logo.png') #插入图片

workbook.close() #关闭工作薄

安装方式:pip install XlsxWriter

方法详细解释:

1.workbook类

定义:Workbook(filename[,options])

该类创建一个XlsxWriter的Workbook对象。Workbook代表整个电子表格文件,并且存储在磁盘上。filename为字符串类型,表示创建的excel文件存储路径;

options:为dict类型,是可选参数,一般作为初始化工作表内容格式

add_worksheet

add_worksheet([sheetname])方法,用于添加一个新的工作表,sheetname为工作表名称,默认是sheet1,例如:

worksheet1 = workbook.add_worksheet()   #sheet1

worksheet2 = workbook.add_worksheet('test')     #test

worksheet3 = workbook.add_worksheet('data')     #data

worksheet4 = workbook.add_worksheet()   #sheet4

add_format

add_format([properties])方法,用于在工作表中创建一个新的格式对象来格式化单元格

properties:为dict类型,为指定一个格式属性的字典

例如设置一个加粗的格式对象如下:

bold = workbook.add_format({'bold': True})

等价的语句如下:

bold = workbook.add_format()

bold.set_bold()

add_chart

add_chart(options)方法,用于在工作表中创建一个图表对象,内部是通过insert_chart()方法来实现的,参数为dict类型,是为图标指定一个字典属性。

例如设置一个线条行的图表对象,代码如下:

chart = workbook.add_chart({'type': 'line'})1

close

close()方法,作用是关闭工作表文件,如:

workbook.close()

2.Worksheet类

代表一个excel工作表,是比较核心的一个类。Worksheet对象不能直接实例化,而是通过Workbook对象调用add_worksheet()方法来创建,常见的方法如下:

write

write(row, col, *args)方法:是用来将普通数据写入单元格中。

row:行坐标;

col:列坐标; 坐标索引起始值为0

*args:无名字参数为数据内容,可为数字,公式,字符串或格式对象

为了简化不同数据类型的写入过程,write方法已作为其他更加具体的数据类型方法的别名,如:

write.string():写入字符串类型数据

wirte_number():写入数字型数据

write_blank():写入空类型数据

write_formula():写入公式型数据

write_datetime():写入日期型数据

wirte_boolean():写入逻辑型数据

write_url():写入超链接型数据

set_row

set_row(row, height, cell_format, options)方法,用于设定行单元格的属性。

row:指定行位置,起始下标为0;

height:为float类型,设定行高,单位像素;

cell_format:format类型,指定对象格式;

options,字典类型,设置行hidden(隐藏)、level(组合分级)、collpsed(折叠)

示例如下:

worksheet2.write('A1', 'hello')

bold = workbook.add_format({'bold': True})  # 设定A1行高40,加粗

worksheet2.set_row(0, 40, bold)  # 隐藏第二行

worksheet2.set_row(1, None, None, {'hidden': True})

set_column

set_column(first_col, last_col, width, cell_format, options)方法,用于设置一列或多列单元格的属性

first_col:整型,指定开始列位置,起始下标为0;

last_col:整型,指定结束列位置,起始下标为0;

width:float类型,设置列宽;

cell_format:format类型,指定格式对象;

options:dict类型,设置hidden(隐藏)、level(组合分级)、collpsed(折叠);

示例如下:

worksheet2.write('A1', 'hello')

worksheet2.write('B1', 'world')

bold = workbook.add_format({'bold': True})  # 设定列A到B单元格宽度10像素,加粗

worksheet2.set_column(0, 1, 10, bold)  # 设置C到D单元格宽度20像素

worksheet2.set_column('C:D', 20)

隐藏E到G单元格

worksheet2.set_column('E:G', None, None, {'hidden': 1})

insert_image

insert_image(row, col, image[, options])方法,用于插入图片到指定的单元格,支持PNG,JPEG,BMP等多种格式。

row:行坐标,起始索引值为0;

col:列坐标,起始索引值为0;

image:string类型,是图片路径;

options:dict类型,是可选参数,用于指定图片位置,如URL等信息;

示例如下:

# 在B5单元格插入python-logo.png图片,超链接为http://python.org

worksheet1.insert_image('B5', 'img/python-logo.png', {'url': 'http://python.org'})12

chart类

chart类实图表组件,支持包括面积、条形图、柱状图、折线图、散点图等,一个图表对象是通过Workbook的add_chart方法创建,通过{type, ‘图表类型’}字典来制定图表类型,示例如下:

# 创建一个column(柱形)图表

chart = workbook.add_chart({type, 'column'})12

常见的图表样式如下:

area:面积样式的图表

bar:条形图

column:柱状图

line:线条样式的图表

pie:饼形图

scatter:散点图

stock:股票样式的图表

radar:雷达样式的图表

然后通过Worksheet的insert_chart()方法插入到指定位置,示例如下:

几个常用方法如下:

add_series

chart.add_series(options)方法:用于添加一个数据系列的图表,参数options为字典类型,用于设置图表系列选项的字典,示例如下:

chart.add_series({

'categories': '=Sheet1!$A$1:$A$5',

'values': '=Sheet1!$B$1:$B$5',

'line': {'color': 'red'},

})12345

add_series的常用三个选项:

categories:设置图表类别标签范围;

values:设置图表数据范围;

line:设置图表线条属性,包括宽度、颜色等;

set_x_axis

set_x_axis(options)方法,设置图表X轴选项,示例如下:

chart.set_x_axis({      'name': 'x name',      'name_font': {'size': 14, 'bold': True}      'num_font': {'italic': True}

})12345

name:设置x轴名称;

name_font:设置x轴字体;

num_font:设置x轴数字字体属性;

set_size

set_size(options)方法,用于设置图表大小,示例如下:

chart.set_size({'width': 720, 'height': 576})1

width:设置宽度;

height:设置高度;

set_title

set_title(options)方法,设置图表标题,示例如下:

chart.set_title({'name': 'test'})1

set_style

set_style(style_id)方法,用于设置图表样式,style_id为不同数字代表不同样式,示例如下:

chart.set_style(37)1

set_table

set_table(options)方法,设置x轴为数据表格式。示例如下:

chart.set_table()

xlsxwriter去掉网格线_学习-xlsxwriter模块相关推荐

  1. python 学习_第五模块 DMO

    python 学习_第五模块 DMO 1. 节点 <!DOCTYPE html> <html lang="en"> <head><meta ...

  2. python多线程编程模块不包括_python 学习_第四模块 并发编程(多线程)

    python 学习_第四模块 并发编程(多线程) 一  开启线程方式 from threading importThreadimporttimedefsay(name): time.sleep(2)p ...

  3. xlsxwriter写行合并_使用xlsxwriter将pandas数据框写入excel并包含“write-rich”字符串格式...

    以下是可复制的,并产生所需的输出. import xlsxwriter, pandas as pd workbook = xlsxwriter.Workbook('pandas_with_rich_s ...

  4. 生鲜配送ERP系统_对商品模块数据模型与界面设计的思考【Java 开源版】杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝

    生鲜配送ERP系统_对商品模块数据模型与界面设计的思考及简要分析[Java 开源版]杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝 一直在研究与改造自己的生鲜配送系统,越来越觉得后 ...

  5. 040-云E办_学习和安装FastDFS以及安装Nginx

    040-云E办_学习和安装FastDFS以及安装Nginx 一.简介: 1.介绍: 2.架构图: 3.上传流程: 4.下载流程: 5.专业术语: 6.同步机制 7.同类产品简单对比 二.安装FastD ...

  6. 如何去掉网格线及网格区域颜色

    Echarts学习记录--如何去掉网格线及网格区域颜色 关键属性 splitLine和splitArea,可以设置相关的属性 示例代码 <!DOCTYPE html> <html l ...

  7. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块

    Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 文章目录 Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 前言 一.时间 ...

  8. 韩顺平php可爱屋源码_韩顺平_php从入门到精通_视频教程_第20讲_仿sohu主页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理...

    韩顺平_php从入门到精通_视频教程_第20讲_仿sohu首页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理 对sohu页面的分析 注释很重要 经验:写一点,测试一点,这是一个很好的方法. ...

  9. Python学习--Selenium模块

    1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台 转载于:https://www.cnblo ...

  10. 学习之模块架构 DotNetNuke 6

    前面的博客介绍了: 如何在本地安装DNN6 如何创建DNN模块 博客园原文地址 :  学习之模块架构 DotNetNuke 6 这篇博客主要是讲模块的架构和加载,以及模块与DotNetNuke门户网站 ...

最新文章

  1. Idea-LifecycleException when deploying
  2. winform DataGrid排序、去掉第一的空白列
  3. Linux下Console的分类与切换
  4. Thinapp的昨天,今天和明天
  5. steam 加速器_如何在Steam中使用Switch的Pro控制器
  6. RZR 丝印RZR Marking RZR 12Pin 芯片,终于找到型号了
  7. ACCESS模糊查询like的解决方法SQL查询语句通配符问题
  8. java_vinson_04:String类浅识
  9. 赵小楼《天道》《遥远的救世主》深度解析(142)贫富差距化是常态,扶贫不是拉平平均值,而是强者去关注弱者
  10. 面对这个缓慢、脆弱、健忘的互联网,IPFS协议势在必行!
  11. html5考试总结300字,期末考试总结反思300字
  12. 提交form表单方法
  13. oracle数据库进入控制台,oracle web浏览器无法打开控制台的解决办法
  14. 部署 Dashboard可视化插件
  15. 【倡议】大家都说说自己能跑Ubuntu 的电脑
  16. 使用tftp命令下载程序并运行
  17. 如何获得更好的交互体验_如何使用有限的调色板获得更好的照片
  18. CentOS7使用yum安装MySQL5版本
  19. 国产数据库之-GreatSQL
  20. 批量修改PPT字体和颜色的方…

热门文章

  1. OA网站不能正常显示(不能看正文)
  2. 利用浏览器另存为将网页内容保存为word
  3. Eclipse解压后打开报错javaw.exe in your current PATH
  4. windows聚焦失效的解决办法
  5. matlab计算abc三相短路电流_供配电系统设计需要用到的计算公式(结合手册简要总结)...
  6. PHP集成环境:这些年我用过的那些PHP环境
  7. android打开超链接屏幕太小,手机屏幕太小,教你2种方法投屏到电脑上,小白也能轻松搞定!...
  8. html双人对战源码,双人对战五子棋游戏 综合运用HTML、CSS、JavaScript实现
  9. 使用频谱仪测试信号抗干扰实验
  10. 计算机盘快捷键,电脑键盘快捷键全解