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中用memcached来减少数据库查询次数的教程
Apr 07 Python
Python的Bottle框架的一些使用技巧介绍
Apr 08 Python
python实现TCP服务器端与客户端的方法详解
Apr 30 Python
Python中用max()方法求最大值的介绍
May 15 Python
Python 功能和特点(新手必学)
Dec 30 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
简单实现python数独游戏
Mar 30 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
Python tkinter制作单机五子棋游戏
Sep 14 Python
python 逐步回归算法
Apr 06 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 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+MySql编写聊天室
2006/10/09 PHP
php中大括号作用介绍
2012/03/22 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
Prototype Array对象 学习
2009/07/19 Javascript
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
2019/09/10 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
Python下singleton模式的实现方法
2014/07/16 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
python 日期排序的实例代码
2019/07/11 Python
Python list与NumPy array 区分详解
2019/11/06 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
模范家庭事迹材料
2014/02/10 职场文书
小露珠教学反思
2014/04/30 职场文书
小学数学教研活动总结
2014/07/01 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
营销计划书
2015/01/17 职场文书
会议新闻稿
2015/07/17 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
pytorch 使用半精度模型部署的操作
2021/05/24 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript