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 相关文章推荐
wxPython窗口的继承机制实例分析
Sep 28 Python
Python编码爬坑指南(必看)
Jun 10 Python
Python获取某一天是星期几的方法示例
Jan 17 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
Python3实现的简单验证码识别功能示例
May 02 Python
详解django中url路由配置及渲染方式
Feb 25 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
利用python求积分的实例
Jul 03 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
Django解决frame拒绝问题的方法
Dec 18 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 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的图形函数中显示汉字
2006/10/09 PHP
ADODB类使用
2006/11/25 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JavaScript类和继承 constructor属性
2010/03/04 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Python当中的array数组对象实例详解
2019/06/12 Python
python里运用私有属性和方法总结
2019/07/08 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
COS美国官网:知名服装品牌
2019/04/08 全球购物
护理专业自荐信
2013/12/03 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
见习报告的格式
2014/10/31 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫
python字符串的一些常见实用操作
2022/04/06 Python