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 相关文章推荐
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
Python验证码识别的方法
Jul 10 Python
python表格存取的方法
Mar 07 Python
Python 实现网页自动截图的示例讲解
May 17 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
python 调试冷知识(小结)
Nov 11 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
python中time、datetime模块的使用
Dec 14 Python
Pandas 稀疏数据结构的实现
Jul 25 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中simplexml_load_file函数用法实例
2014/11/12 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
jquery实现简单的无缝滚动
2015/04/15 Javascript
浅析JavaScript动画
2015/06/10 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python MySQLdb Linux下安装笔记
2015/05/09 Python
Python实现word2Vec model过程解析
2019/12/16 Python
python各层级目录下import方法代码实例
2020/01/20 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
python Matplotlib模块的使用
2020/09/16 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
python温度转换华氏温度实现代码
2020/12/06 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
社团招新策划书
2014/02/04 职场文书
如何写好自荐信
2014/04/07 职场文书
监督检查工作方案
2014/05/28 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
Python简易开发之制作计算器
2022/04/28 Python