python修改单元格格式_Python之如何设置openpyxl单元格格式
在对openpyxl有了简单了解之后,今天本文将通过实例详细讲解openpyxl的单元格样式。
openpyxl的单元格样式由6种属性决定,每一种都是一个类,需要注意的是这在对样式属性赋值时,样式实例一经创建,样式实例的属性就不可更改,只能新建样式实例。如下所示:font(字体类):字号、字体颜色、下划线等
fill(填充类):颜色等
border(边框类):设置单元格边框
alignment(位置类):对齐方式
number_format(格式类):数据格式
protection(保护类):写保护
单元格默认样式如下:
>>> from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
>>> font = Font(name='Calibri',
... size=11,
... bold=False,
... italic=False,
... vertAlign=None,
... underline='none',
... strike=False,
... color='FF000000')
>>> fill = PatternFill(fill_type=None,
... start_color='FFFFFFFF',
... end_color='FF000000')
>>> border = Border(left=Side(border_style=None,
... color='FF000000'),
... right=Side(border_style=None,
... color='FF000000'),
... top=Side(border_style=None,
... color='FF000000'),
... bottom=Side(border_style=None,
... color='FF000000'),
... diagonal=Side(border_style=None,
... color='FF000000'),
... diagonal_direction=0,
... outline=Side(border_style=None,
... color='FF000000'),
... vertical=Side(border_style=None,
... color='FF000000'),
... horizontal=Side(border_style=None,
... color='FF000000')
... )
>>> alignment=Alignment(horizontal='general',
... vertical='bottom',
... text_rotation=0,
... wrap_text=False,
... shrink_to_fit=False,
... indent=0)
>>> number_format = 'General'
>>> protection = Protection(locked=True,
... hidden=False)
以上几种样式(字体、填充、边框、位置和保护)实例一旦被创建实例的属性就不可更改,只能重新创建实例。
>>> from openpyxl.styles import colors
>>> from openpyxl.styles import Font, Color
>>> from openpyxl.styles import colors
>>> from openpyxl import Workbook
>>> wb = Workbook()
>>> ws = wb.active
>>>
>>> a1 = ws['A1']
>>> d4 = ws['D4']
>>> ft = Font(color=colors.RED)
>>> a1.font = ft
>>> d4.font = ft
>>>
>>> a1.font.italic = True # 不会生效,样式实例一旦创建,实例的属性就不可改变
>>>
>>> # 若要改变样式,必须新建样式实例
>>>
>>> a1.font = Font(color=colors.RED, italic=True) # 创建字体实例(红色、斜体,其他属性默认)
复制样式
样式可以被复制:
>>> from openpyxl.styles import Font
>>>
>>> ft1 = Font(name='Arial', size=14)
>>> ft2 = ft1.copy(name="Tahoma") # 复制时指定字体为“Tahoma”,其他属性均复制自ft1
>>> ft1.name
'Arial'
>>> ft2.name
'Tahoma'
>>> ft2.size
14.0
基本字体颜色
字体颜色有一些颜色常量,可以直接调用:
from openpyxl.styles import Font
from openpyxl.styles.colors import RED
font = Font(color=RED)
font = Font(color="00FFBB00")
也可以按索引创建实例:
from openpyxl.styles.colors import Color
c = Color(indexed=32)
c = Color(theme=6, tint=0.5)
说到颜色,V2.3.5版本必须使用“00XXXXXX”的格式,不能使用“#XXXXXX”的格式。如果颜色不生效请查看版本后修改。
应用样式
可以直接应用到单元格:
from openpyxl.workbook import Workbook
from openpyxl.styles import Font, Fill
wb = Workbook()
ws = wb.active
c = ws['A1']
c.font = Font(size=12)
可以对整行整列设置样式,前提是单元格已创建。
col = ws.column_dimensions['A']
col.font = Font(bold=True)
row = ws.row_dimensions[1]
row.font = Font(underline="single")
数据格式
数据格式属性number_format的值是字符串类型,不为对象,直接赋值即可。
openpyxl内置了一些数据格式查看openpyxl.styles.numbers,也支持excel自定义格式,以下两种方式效果相同:
# 使用openpyxl内置的格式
from openpyxl.styles import numbers
ws.cell['D2'].number_format = numbers.FORMAT_GENERAL
ws.cell(row=2, column=4).number_format = numbers.FORMAT_DATE_XLSX15# 直接使用字符串
ws.cell['D2].number_format = 'General'
ws.cell(row=2, column=4).number_format = 'd-mmm-yy'
编辑页面设置
from openpyxl.workbook import Workbook
wb = Workbook()
ws = wb.active
ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE
ws.page_setup.paperSize = ws.PAPERSIZE_TABLOID
ws.page_setup.fitToHeight = 0
ws.page_setup.fitToWidth = 1
编辑打印选项
from openpyxl.workbook import Workbook
wb = Workbook()
ws = wb.active
ws.print_options.horizontalCentered = True
ws.print_options.verticalCentered = True
以上就是openpyxl设置单元格样式的方法,更多Python学习推荐:云海天Python教程网
python修改单元格格式_Python之如何设置openpyxl单元格格式相关推荐
- python秒数转化为时间格式_python将秒数转化为时间格式的实例
python将秒数转化为时间格式的实例 1.转化成时间格式 seconds =35400 m, s = divmod(seconds, 60) h, m = divmod(m, 60) print(& ...
- python修改y轴刻度_Python | Y轴刻度限制
python修改y轴刻度 In some cases, we need to visualize our data within some defined range rather than the ...
- python修改文件的方法_python中文件操作实现全文或单行替换方法
python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开.替换文本中的taste 为 tasting Yesterday when ...
- python修改自己的代码_python修改微信和支付宝步数的示例代码
项目意义 如果你想在支付宝蚂蚁森林收集很多能量种树,为环境绿化出一份力量,又或者是想每天称霸微信运动排行榜装逼,却不想出门走路,那么该python脚本可以帮你实现. 实现方法 手机安装第三方软件乐心健 ...
- html统计表合并单元格的快捷键,word怎样设置合并单元格快捷键
word2010中合并单元格的快捷键是什么?求解答. 合并单元格没有快捷键,不过有个f4是重复上一步操作,所以你要合并多个单元格,那么你可以先点一合并单元格,然后选定你要合并的区域. WORD合并单元 ...
- python设置单元格宽度_python – 在Excel中调整单元格宽度
我正在使用xlsxwriter写入Excel工作表.我面临的问题是:当文本超过单元格大小时,它会被隐藏. import xlsxwriter workbook = xlsxwriter.Workboo ...
- python查找excel中内容_Python 根据关键字查找xls单元格内容
必要的第三方库:xlrd 功能:根据传入的关键字来检索xls,读取关键字所在的单元格相邻单元格的内容.仅能处理xls. 用法:excel_read(需要查找单元格内容的xls文件路径,检索关键字(只接 ...
- excel单元格下拉选项怎么设置_Excel单元格内容这样设置才不能被修改
1,打开excel表格,对需要锁定的部分单元格进行全选,然后点击鼠标右键,在弹出来的设置功能中,选择"设置单元格格式".(如下图) 2,接着来到设置单元格格式下的"数字& ...
- .net 导出html 到excel 合并单元格,C#导出Excel,并且设置Excel单元格格式,合并单元格....
注:要添加COM组件 Microsoft Excel 11.0 Object Library 引用. 具体代码如下: using System; using System.Collections.G ...
最新文章
- python 图表_Python入门学习系列——使用Python调用Web API实现图表统计
- web开发流程 - 网上商城示例
- 不依赖远程API启动SEER区块链命令行钱包和网页钱包的方法
- 反编译工具的使用和字节码文件的查看(Binary Viewer)
- java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...
- SpringBoot入门到精通_第6篇 _必知必会
- 开发指南专题九:JEECG微云快速开发平台-表单校验组件ValidForm
- 【script】python通过字符串调用方法
- (转)Bootstrap 之 Metronic 模板的学习之路 - (3)源码分析之 body 部分
- Oracle DML封锁机制研究
- 小型公司 --- OSPF 不连续区域进行通信配置
- Python自动化运维之21、CSS
- 以太坊DAO之股东协会智能合约
- 记忆减退之----LM1117 电路连接图
- 动态规划 最长公共子序列 过程图解
- 【转载】linux修改文件的所有者权限[root权限更改为用户权限]
- wireshark解析信令tshark
- 医疗数据交易平台-区块链解决方案
- DNSPod十问德佑刘勇:传统地产业数字化转型会让10万人失业吗?
- 吉林大学软件学院《软件项目管理》课程重点与测试题 第七章 质量计划和缺陷估计
热门文章
- 【一天一个挨打小技巧】格式工厂+万能格式转换YYDS,重磅出击
- 【Lilishop商城】No3-5.模块详细设计,商品模块-1(商品分类、品牌管理、规格管理、参数、计量单位、店铺分类)的详细设计
- HQChart小程序教程3-新版2D单画布如何切换K线图和分时图
- 终端 ctrl+s 锁屏问题
- CCriticalSection 在哪个.h头文件
- 基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码
- 【Java设计模式 面向对象设计思想】五 多用组合少用继承编程
- linux中配置MPE和MADDPG环境
- # 区块链隐私保护综述
- 【GEE】 【初探 GEE 账号申请与注册】