自动化办公:xlsxwriter操作Excel
转载原链接:https://www.jianshu.com/p/d685cfaaeef7
1.安装
pip install xlsxwriter
2.操作一个简单的Excel文档
# 引入依赖模块
import xlsxwriter
# 数据准备
datas = (
    ['Rent', 1000],
    ['Gas',  100 ],
    ['Food', 300 ],
    ['Gym',  50  ]
)
# 创建一个Excel文档
workbook = xlsxwriter.Workbook('ex01.xlsx')
# 添加一个工作表
worksheet = workbook.add_worksheet()
# 设置行和列的偏移
row, col = 0, 0
# 开始添加数据
for item, cost in datas:
    # 指定行、列的单元格,添加数据
    worksheet.write(row, col, item)
    worksheet.write(row, col+1, cost)
    # 行增加
    row += 1
# 添加一个计算总数的函数
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')
# 关闭文档
workbook.close()
操作完成后,数据存储结果如下:

- 操作简单Excel文档并添加数据格式
 
# 导入依赖的模块
import xlsxwriter
# 数据准备
datas = (
    ['Rent', 1000],
    ['Gas',  100 ],
    ['Food', 300 ],
    ['Gym',  50  ],
)
# 创建表格
workbook = xlsxwriter.Workbook('ex02.xlsx')
worksheet = workbook.add_worksheet('data')
# 添加全局格式
bold = workbook.add_format({'bold': True})
# 添加money格式
money = workbook.add_format({'num_format': '$#,##0'})
# 添加表格头,附带格式
worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)
# 数据表格偏移
row, col = 1, 0
# 添加数据
for item, cost in datas:
    # 按照行列单元格添加数据
    worksheet.write(row, col, item)
    worksheet.write(row, col+1, cost)
    row += 1
# 添加一列求和计数
worksheet.write(row, 0, 'Total',        bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)
# 存储退出
workbook.close()
操作效果如图所示:

4.Excel中添加不同类型的数据
操作代码如下:将不同的数据按照指定的格式添加到文件中
# 引入依赖的模块
from datetime import datetime
import xlsxwriter
# 数据准备
datas = (
    ['Rent', '2018-05-13', 1000],
    ['Gas',  '2018-05-14',  100],
    ['Food', '2018-05-16',  300],
    ['Gym',  '2018-05-20',   50],
)
# 创建表格
workbook = xlsxwriter.Workbook('ex03.xlsx')
worksheet = workbook.add_worksheet('data')
# 添加格式
bold_f = workbook.add_format({'bold': True})
money_f = workbook.add_format({'num_format': '$#,##0'})
# 添加日期格式new
date_f = workbook.add_format({'num_format': 'mmmm d yyyy'})
# 添加对齐方式和表格宽度new
worksheet.set_column(1, 1, 15)
# 添加表头数据
worksheet.write('A1', 'Item', bold_f)
worksheet.write('B1', 'Date', bold_f)
worksheet.write('C1', 'Cost', bold_f)
# 定义偏移值
row, col = 1, 0
# 添加数据
for item, date, cost in datas:
    date = datetime.strptime(date, '%Y-%m-%d')
    worksheet.write(row, col,                     item)
    worksheet.write_datetime(row, col+1, date,  date_f)
    worksheet.write(row, col+2, cost,          money_f)
    row += 1
# 添加计数
worksheet.write(row, 0, 'Total',        bold_f)
worksheet.write(row, 2, '=SUM(C2:C5)', money_f)
# 存储并关闭
workbook.close()
代码执行结果如下:

注意:xlsxwriter中提供了向excel中写入数据的多种方式,如下:
write_string()
write_number()
write_blank()
write_formula()
write_datetime()
write_boolean()
write_url()
5.Excel中添加数据图表
操作代码如下:将对应的数据展示图表添加到文件中
# 引入依赖模块
import xlsxwriter
# 操作数据
data = [20, 45, 26, 18, 45]
# 创建表格
workbook = xlsxwriter.Workbook("ex04.xlsx")
worksheet = workbook.add_worksheet("data")
# 添加数据:一次添加多个数据
worksheet.write_column('A1', data)
# 创建图表
chart = workbook.add_chart({'type': 'line'})
# 图表添加数据
chart.add_series({
    'values': '=data!$A1:$A6',
    'name': '图表线名称',
    'marker': {
        'type': 'circle',
        'size': 8,
        'border': {'color': 'black'},
        'fill': {'color': 'red'}
    },
    'data_labels': {'value': True},
    'trendline': {
        'type': 'polynomial',
        'order': 2,
        'name': '示例趋势线',
        'forward': 0.5,
        'backward': 0.5,
        'display_equation': True,
        'line': {'color': 'red', 'width': 1, 'dash_type': 'long_dash'}
    }
})
worksheet.insert_chart('C1', chart)
workbook.close()
代码执行结果如下图所示:

自动化办公:xlsxwriter操作Excel的更多相关文章
- Python自动化办公之操作Excel文件
		
模块导入 import openpyxl 读取Excel文件 打开Excel文件 workbook = openpyxl.load_workbook("test.xlsx") 输出 ...
 - python3使用xlrd、xlwt、xlutils、openpyxl、xlsxwriter操作excel
		
特色简介 xlrd主要用来读excel,针对.xls格式: xlwt主要用来写excel,针对.xls格式,超出excel 的单格内容长度上限32767,就会报错: xlutils结合xlrd可以达到 ...
 - Python自动化办公知识点整理汇总
		
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却 ...
 - 自动化办公:python操作Excel
		
1.安装 -- upgrade pippython -m pip install --- install pypipip install pypi 执行python setup.py install进 ...
 - 接口自动化(二)--操作Excel获取需要数据
		
这一部分的内容记述一下对Excel表格的操作,本实战中的测试用例是由Excel来管理的,因此操作Excel是重要的一部分. 再次贴出这张图,所有的测试用例都在这个sheet内,请求数据真实存放在jso ...
 - python办公入门4:xlrd操作excel行
		
操作excel行 1 #通过索引获取操作行 2 sheet=data.sheet_by_index(0) 3 #获取当前sheet下的有效行数 4 print(sheet.nrows) 5 #获取某一 ...
 - Python“文件操作”Excel篇(上)
		
大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...
 - VS2010 C++ 操作Excel表格的编程实现
		
转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的方法有多种, ...
 - C++ builder 操作Excel方法(据网上资料整理)
		
c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 用OLE操作Excel(目前最全的资料)(04.2.19更新) 本文档部分资料来自互联网,大部分是ccrun( ...
 
随机推荐
- Nuxt项目支持import写法的最新解决方案
			
最近在看Nuxt开发vue项目的视频,视频中讲到Nuxt项目不支持es6的import写法.并提供了解决方案: 1.在package.json中添加我标红的部分: "scripts" ...
 - Word pair Hu
			
Memorize words in the way of games, learn foreign languages, and be more handy
 - ent 基本使用十三  debug 模式
			
ent 生成的代码client 包中包含了一个方便的方法Debug(), 记得昨天我为了查看生成的sql 查询通过配置mysql 启用慢查询,同时设置记录慢查询为0,实际上client Debug 方 ...
 - netflix  conductor 2.x 版本新功能简单说明
			
netflix conductor 2.x 已经发布很长时间了,同时官方也发布了关于2.x 新特性的说明,当前github 行的release 版本为2.14.4 新特性 grpc 框架支持 一个可选 ...
 - There is insufficient memory for the Java Runtime Environment to continue.
			
There is insufficient memory for the Java Runtime Environment to continue.
 - SQL进阶-数据类型转换
			
一般有这几种转换: 一.数值型与字符型的转化 ### 数值型转为字符型: –> '65' select cast(65 as char); –> 'A' select char(65); ...
 - cloneable以及深拷贝和浅拷贝
			
Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...
 - 【转】linux sed命令
			
转自:linux sed命令就是这么简单 参考:Linux三大剑客之sed:https://blog.csdn.net/solaraceboy/article/details/79272344 阅读目 ...
 - What is the difference between UNION and UNION ALL?
			
What is the difference between UNION and UNION ALL? UNION removes duplicate records (where all colum ...
 - 推荐一个web字体转换工具TTF转SVG
			
推荐一个web字体转换工具:https://www.fontsquirrel.com/tools/webfont-generator