python复制单元格格式太多_用openpyxl.styles设置格式

news/2024/10/23 18:22:48/

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)

大概能用的属性如上,具体不同的版本有写差异,可直接到openpyxl官网(https://openpyxl.readthedocs.io/en/stable/index.html)去查看Module Code。

对一个cell进行格式设置:

ws["B5"].font = ft

ws["B5"].fill =fill

ws["B5"].border = bd

ws["B5"].alignment = alignment

ws["B5"].number_format = number_format

ws["B5"].value ="pynote.net"

多某行或某列进行格式设置:

>>> ws.column_dimensions['A']

>>> ws.row_dimensions[1]

>>> a = ws.row_dimensions[1]

>>> a.font

Parameters:

name='Calibri', charset=None, family=2.0, b=False, i=False, strike=None, outline

=None, shadow=None, condense=None, color=

Parameters:

rgb=None, indexed=None, auto=None, theme=1, tint=0.0, type='theme', extend=None,

sz=11.0, u=None, vertAlign=None, scheme='minor'

>>> b = ws.column_dimensions['A']

>>> b.font

Parameters:

name='Calibri', charset=None, family=2.0, b=False, i=False, strike=None, outline

=None, shadow=None, condense=None, color=

Parameters:

rgb=None, indexed=None, auto=None, theme=1, tint=0.0, type='theme', extend=None,

sz=11.0, u=None, vertAlign=None, scheme='minor'

直接对属性进行赋值即可。

可控制属性是在太多了,本人对excel不熟悉,我想如果熟悉excel软件可能会对这些属性感觉更亲切吧。

有一个常见的问题,如何让自动生产的excel表格的宽度能够自适应,我也没有找到直接设置属性的方法。网上有一种方案,遍历列,找到最长的字符串,然后据此设置列的宽。

-- EOF --


http://www.ppmy.cn/news/659620.html

相关文章

写得太好了!java导出excel设置单元格格式

开头 学习如逆水行舟,尤其是IT行业有着日新月异的节奏。 而且现在这个浮躁而又拜金的社会,我相信很多人做技术并非出于热爱,只是被互联网的高薪吸引,毕竟技术岗位非常枯燥,不仅要面对奇奇怪怪的需求,还要…

EXCEL不同的单元格格式太多解决方案

现象:EXCEL打开现象如下图: 解决步骤: 1、打开故障文档,点击“视图-宏”: 2、输入宏名,点创建: 3、在标记的红色方框内(默认是光标在闪动)输入代码&#xff1…

POI导出Excel “不同的单元格格式太多”

用POI导出Excel的时候如果内容太多, 用office2003打开就会报“不同的单元格格式太多”, 而且很多单元格的格式都没有设置, 而用office2007打开就没问题。 原来是我定义了太多的单元格格式, 每个单元格都createCellStyle 把…

birt导出excel时出现的”不同单元格格式太多”bug

说明:导出Excel文件使用了插件org.uguess.birt.report.engine.emitter.xls_2.5.1.201001221050 现象:用birt设计器文件导出的Excel文件,在有数值列的时候,当记录数大于2000多条的时候出现,excel文件能被成功导出&#…

excel粘贴时出现故障_你必将碰到的巨崩溃的问题,Excel复制粘贴时,突然提示“不同单元格格式太多“,我快疯了......

表格在复制粘贴时候,提示“不同的单元格格式太多”。简直要崩溃啊有木有! 其实问题,是在开始的单元格样式里的莫名其妙的样式太多,如下图, 长期做表的你有机会总会见到 甚至还有各种韩文命名的单元格样式。数量巨多,甚至几千几万个。 悲催啊。。。 怎么办? 网络上会有人…

EXCEL不同单元格格式太多

EXCEL复制,移动,或者操作时 弹出以下错误:不同单元格格式太多 操作前,请先将EXCEL 复制一份,以免操作出错,EXCEL无法打开(非常重要!!!) 按AltF11键(有些电脑需要点击AltFnF11)&…

Excel中“不同的单元格格式太多”问题解决方法

问题:Excel中“不同的单元格格式太多”提示信息 原因:Microsoft规定同一张EXCEL表格中不可能出现超过4000种格式。因此,只能是要求统一格式或是你自己改格式。 解决方法:利用系统提供的“记事本”来过度。 1、先将源Excel表中的数…

easyX库图像处理相关函数(注释版)

0.图像处理相关函数与类型概览 您好,这里是limou3434,本次我将给您带来的是easyX的图像处理相关接口。 如果您感兴趣也可以看看我的其他内容。 函数或数据类型描述IMAGE保存图像的对象。loadimage读取图片文件。putimage在当前绘图设备上绘制指定图像…