python操作xlsx文件的包openpyxl实例


Posted in Python onMay 03, 2018

Python扩展库openpyxl,可以操作07版以上的xlsx文件。可以创建工作簿、选择活动工作表、写入单元格数据,设置单元格字体颜色、边框样式,合并单元格,设置单元格背景等等。

需要增加可以颜色进入包安装目录的

your_pthon_path/site-packages/openpyxl/styles

修改colors.py文件下的

COLOR_INDEX = (
 '00000000', '00FFFFFF', '00FF0000', '0000FF00', '000000FF', #0-4
 '00FFFF00', '00FF00FF', '0000FFFF', '00000000', '00FFFFFF', #5-9
 '00FF0000', '0000FF00', '000000FF', '00FFFF00', '00FF00FF', #10-14
 '0000FFFF', '00800000', '00008000', '00000080', '00808000', #15-19
 '00800080', '00008080', '00C0C0C0', '00808080', '009999FF', #20-24
 '00993366', '00FFFFCC', '00CCFFFF', '00660066', '00FF8080', #25-29
 '000066CC', '00CCCCFF', '00000080', '00FF00FF', '00FFFF00', #30-34
 '0000FFFF', '00800080', '00800000', '00008080', '000000FF', #35-39
 '0000CCFF', '00CCFFFF', '00CCFFCC', '00FFFF99', '0099CCFF', #40-44
 '00FF99CC', '00CC99FF', '00FFCC99', '003366FF', '0033CCCC', #45-49
 '0099CC00', '00FFCC00', '00FF9900', '00FF6600', '00666699', #50-54
 '00969696', '00003366', '00339966', '00003300', '00333300', #55-59
 '00993300', '00993366', '00333399', '00333333', 'System Foreground', 'System Background' #60-64
 '00D2B48C', '0087CEFA', '0000BFFF' #自己添加的
)

以00+16进制RGB颜色代码的形式即可

自己写的一个生成xlsx文件的代码:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import openpyxl
from openpyxl import Workbook
from openpyxl.styles import colors,Font,Border,Side,PatternFill,Alignment
wb = Workbook() #创建工作簿
ws = wb.active #激活工作簿
ws.merge_cells('C3:E3') #合并单元格
ws.merge_cells('C4:E4')
ws.merge_cells('C20:I20')
ws.merge_cells('C21:I21')
left, right, top, bottom = [Side(style='thin', color='000000')]*4 #设置单元格边框属性
border = Border(left=left, right=right, top=top, bottom=bottom) #设置单元格边框格式
fill1 = PatternFill(start_color = 'FFFF00', end_color = 'FFFF00', fill_type = 'solid') #设置单元格背景色
fill2 = PatternFill(start_color = 'D2B48C', end_color = 'D2B48C', fill_type = 'solid')
fill3 = PatternFill(start_color = '00BFFF', end_color = '00BFFF', fill_type = 'solid')
fill4 = PatternFill(start_color = 'FF0000', end_color = 'FF0000', fill_type = 'solid')
align1 = Alignment(horizontal='center', vertical='center') #设置文本对齐
align2 = Alignment(horizontal='left', vertical='center')
for i in range(3,22):
 for col in 'CDEFGHIJK':
 ws[col+str(i)].border = border #给每个单元格设置相应的格式 
 #ws[col+str(3)].fill = fill1
 #ws[col+str(i)].alignment = align
for col in 'CDEFGHIJK':
 ws[col+str(3)].fill = fill1
 ws[col+str(20)].fill = fill3
 ws[col+str(21)].fill = fill4
 for i in range(4,20):
 ws[col+str(i)].fill = fill2
for col in 'CDEFGHIJK':
 ws[col+str(3)].alignment = align1
for i in range(4,22):
 for col in 'CDE':
 ws[col+str(i)].alignment = align2
for col in 'CDEFGHIJK':
 ws[col+str(3)] = 'test1' #单元格赋值
for i in range(3,22):
 for col in 'CDE':
 if i in range(5,20) and col == 'C':
  pass
 else:
  ws[col+str(i)] = 'test2'
for i in range(4,20):
 for col in 'EFGHIJK':
 ws[col+str(i)] = 50
for i in range(20,22):
 for col in 'JK':
 ws[col+str(i)] = 100
wb.save('test.xlsx') #保存文件

单元格字体等也可以使用相应的模块去设置。

以上这篇python操作xlsx文件的包openpyxl实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现数独算法实例
Jun 09 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
Jul 27 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
python Popen 获取输出,等待运行完成示例
Dec 30 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
python实现飞船游戏的纵向移动
Apr 24 Python
Python基于gevent实现高并发代码实例
May 15 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 Python
对Python字符串中的换行符和制表符介绍
May 03 #Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 #Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 #Python
Python 解决中文写入Excel时抛异常的问题
May 03 #Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 #Python
python更改已存在excel文件的方法
May 03 #Python
python写入已存在的excel数据实例
May 03 #Python
You might like
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
PHP反向代理类代码
2014/08/15 PHP
yii添删改查实例
2015/11/16 PHP
php生成与读取excel文件
2016/10/14 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python制作爬虫抓取美女图
2016/01/20 Python
哪些是python中web开发框架
2020/06/17 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
公司活动方案范文
2014/03/06 职场文书
保密承诺书
2014/03/27 职场文书
公司承诺书格式
2014/05/21 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript