Python设置excel单元格格式

2023-11-13

xlwt 模块简介

xlwtpython中一个用来操作 excel 文件的库,其中,封装了很多常用操作。本文主要讲解使用该库在生成excel时,设置单元格样式的方法。


xlwt 中设置单元格样式主要是通过 XFStyle 这个类来完成的,XFStyle 类中属性与单元格属性的对应关系如下:

XFStyle属性名 对应单元格属性 值类型
num_format_str 数字 str
font 字体 Font类实例
alignment 对齐 Alignment类实例
borders 边框 Borders类实例
pattern 填充 Pattern类实例
protection 保护 Protection类实例

要设置单元格的哪种属性,只要设置 XFStyle 实例的对应属性即可。下面依次介绍各个属性的设置。

设置数字的格式

要设置数字的格式,只需设置num_format_str 的值即可。

可设置的值如下:

'general'
'0'
'0.00'
'#,##0'
'#,##0.00'
'"$"#,##0_);("$"#,##0)'
'"$"#,##0_);[Red]("$"#,##0)'
'"$"#,##0.00_);("$"#,##0.00)'
'"$"#,##0.00_);[Red]("$"#,##0.00)'
'0%'
'0.00%'
'0.00E+00'
'# ?/?'
'# ??/??'
'M/D/YY'
'D-MMM-YY'
'D-MMM'
'MMM-YY'
'h:mm AM/PM'
'h:mm:ss AM/PM'
'h:mm'
'h:mm:ss'
'M/D/YY h:mm'
'_(#,##0_);(#,##0)'
'_(#,##0_);[Red](#,##0)'
'_(#,##0.00_);(#,##0.00)'
'_(#,##0.00_);[Red](#,##0.00)'
'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)'
'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)'
'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)'
'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)'
'mm:ss'
'[h]:mm:ss'
'mm:ss.0'
'##0.0E+0'
'@'

上面的这些值,是excel中数字可以设置的自定义格式,具体的含义可以参照excel中自定义格式的用法。

设置字体

要设置单元格中字体格式,要用到Font类的如下实例属性:

  • name 字体名称

    类型:str

    默认值:Arial

  • italic 是否斜体

    类型:boole

    默认值:False

  • bold 粗体

    类型:boole

    默认值:False

  • underline 下划线

    类型:int 可以使用十进制或16进制数

    默认值:False

    值及具体含义如下:

    • 0Flase:不设置下划线

    • 1True:表示设置单下划线

    • 2:设置双下划线

    • 33:表示设置会计用单下划线

    • 34:表示设置会计用双下划线

  • charset 字符集

    类型:int

    默认值:0x01 表示系统默认字符集

    字符集与int值对应关系如下:

    • CHARSET_ANSI_LATIN 0x00

    • CHARSET_SYS_DEFAULT 0x01

    • CHARSET_SYMBOL 0x02

    • CHARSET_APPLE_ROMAN 0x4D

    • CHARSET_ANSI_JAP_SHIFT_JIS 0x80

    • CHARSET_ANSI_KOR_HANGUL 0x81

    • CHARSET_ANSI_KOR_JOHAB 0x82

    • CHARSET_ANSI_CHINESE_GBK 0x86

    • CHARSET_ANSI_CHINESE_BIG5 0x88

    • CHARSET_ANSI_GREEK 0xA1

    • CHARSET_ANSI_TURKISH 0xA2

    • CHARSET_ANSI_VIETNAMESE 0xA3

    • CHARSET_ANSI_HEBREW 0xB1

    • CHARSET_ANSI_ARABIC 0xB2

    • CHARSET_ANSI_BALTIC 0xBA

    • CHARSET_ANSI_CYRILLIC 0xCC

    • CHARSET_ANSI_THAI 0xDE

    • CHARSET_ANSI_LATIN_II 0xEE

    • CHARSET_OEM_LATIN_I 0xFF

  • _weight 字体磅数

    类型:int

    默认值:400 ,表示的字体磅数为 20

    _height和excel中磅数的换算关系为 _wegiht/20 即为excel中的字体磅数

  • colour_index 字体颜色

    类型:int

    默认值:0x7FFF

    值与颜色名称的映射表如下(该映射关系与W3C的RGB颜色映射表没有关联):

    aqua 0x31
    black 0x08
    blue 0x0C
    blue_gray 0x36
    bright_green 0x0B
    brown 0x3C
    coral 0x1D
    cyan_ega 0x0F
    dark_blue 0x12
    dark_blue_ega 0x12
    dark_green 0x3A
    dark_green_ega 0x11
    dark_purple 0x1C
    dark_red 0x10
    dark_red_ega 0x10
    dark_teal 0x38
    dark_yellow 0x13
    gold 0x33
    gray_ega 0x17
    gray25 0x16
    gray40 0x37
    gray50 0x17
    gray80 0x3F
    green 0x11
    ice_blue 0x1F
    indigo 0x3E
    ivory 0x1A
    lavender 0x2E
    light_blue 0x30
    light_green 0x2A
    light_orange 0x34
    light_turquoise 0x29
    light_yellow 0x2B
    lime 0x32
    magenta_ega 0x0E
    ocean_blue 0x1E
    olive_ega 0x13
    olive_green 0x3B
    orange 0x35
    pale_blue 0x2C
    periwinkle 0x18
    pink 0x0E
    plum 0x3D
    purple_ega 0x14
    red 0x0A
    rose 0x2D
    sea_green 0x39
    silver_ega 0x16
    sky_blue 0x28
    tan 0x2F
    teal 0x15
    teal_ega 0x15
    turquoise 0x0F
    violet 0x14
    white 0x09
    yellow 0x0D
    
  • height 字号

    类型:int

    默认值:200 表示excel中的字号 10

    height值和excel中字号的换算关系为 height/20 即为excel中的字号值

  • struck_out 删除线

    类型:boole

    默认值:False

  • shadow 阴影

    类型:boole

    默认值:False

  • family 字体族名称

    类型:int

    默认值:0

    值与其含义对应关系:

    • 不设置:0

    • ROMAN字符族:1

    • SWISS字符族:2

    • MODERN字符族:3

    • SCRIPT字符族:4

    • DECORATIVE字符族:5

  • escapement

    类型:int

    默认值:0x00

    值与含义对应关系:

    • 0x00:不设置

    • 0x01:上标

    • 0x02:下标

  • outline

    类型:int

    默认值:False

设置对齐方式

要设置单元格的对齐方式,需要用到 Alignment 类的如下实例属性:

  • horz 水平对齐方式

    类型:int

    默认值:0

    值与含义对应关系如下:

    • 0:常规

    • 1:靠左(缩进)

    • 2:居中

    • 3:靠右(缩进)

    • 4:填充

    • 5:两端对齐

    • 6:跨列居中

    • 7:分散对齐(缩进)

  • vert 垂直对齐方式

    类型:int

    默认值:2

    值与含义对应关系如下:

    • 0:靠上

    • 1:居中

    • 2:靠下

    • 3:两端对齐

    • 4 :分散对齐

  • rota 方向

    类型:int

    默认值:0

    值与含义对应关系如下:

    • 0:0度,表示文字方向为水平

    • 45:45度,表示逆时针旋转45度

    • 90:90度,表示逆时针旋转90度

    • 135:-45度,表示顺时针旋转45度

    • 180:-90度,表示顺时针旋转90度

    • 255:表示文字方向为垂直

  • wrap 自动换行

    类型:int

    默认值:False

    值与含义对应关系如下:

    • False0:不自动换行

    • True1:自动换行

  • shri 缩小字体填充

    类型:int

    默认值:False

    值与含义对应关系如下:

    • False0:不缩小字体填充

    • True1:缩小字体填充

  • inde 缩进

    类型:int

    默认值:0

    值与含义对应关系如下:

    • n:缩进n个字符
  • merg 合并单元格

    类型:int

    默认值:0

设置边框

要设置单元格的边框,需要用到 Borders 类的如下实例属性:

  • left 单元格左边框的线型

  • right 单元格右边框的线型

  • top 单元格上边框的线型

  • bottom 单元格下边框的线型

  • diag 单元格中对角线的线型

  • left_colour 单元格左边框的颜色

  • right_colour 单元格右边框的颜色

  • top_colour 单元格上边框的颜色

  • bottom_colour 单元格下边框的颜色

  • diag_colour 单元格中对角线的颜色

  • need_diag1 设置从单元格左上到右下的对角线

  • need_diag2 设置从单元格左下到右上的对角线

其中,leftrighttopbottomdiag 值的类型均为 int,默认值均为 0,取值范围为[0, 13](从0到13之间的任意数)。这14个值分别代表excel中边框的14种线型,数值与线型的对应关系如下:

'no_line':  0
'thin':     1
'medium':   2
'dashed':   3
'dotted':   4
'thick':    5
'double':   6
'hair':     7
'medium_dashed':                8
'thin_dash_dotted':             9
'medium_dash_dotted':           10
'thin_dash_dot_dotted':         11
'medium_dash_dot_dotted':       12
'slanted_medium_dash_dotted':   13

其中, left_colourright_colourtop_colourbottom_colourdiag_colour 的值的类型均为int,默认值均为 40。值与颜色的对应关系可以参考 Font 类的 colour_index 属性的值与颜色名字的映射表。

其中,need_diag1need_diag2的值的类型均为int,默认值均为0,表示不设置对角线,若要设置对角线,则可将其值设置为1

设置填充

要进行单元格的填充设置,需要用到Pattern 的如下实例属性:

pattern 图案样式

类型:int

默认值:0

值与填充图案名称对应关系如下:

'no_fill':              0
'none':                 0
'solid':                1
'solid_fill':           1
'solid_pattern':        1
'fine_dots':            2
'alt_bars':             3
'sparse_dots':          4
'thick_horz_bands':     5
'thick_vert_bands':     6
'thick_backward_diag':  7
'thick_forward_diag':   8
'big_spots':            9
'bricks':               10
'thin_horz_bands':      11
'thin_vert_bands':      12
'thin_backward_diag':   13
'thin_forward_diag':    14
'squares':              15
'diamonds':             16

pattern的值设置为00x00False时,pattern_fore_colourpattern_back_colour的设置不会生效。

pattern_fore_colour 图案颜色

类型:int

默认值:64

值与颜色的对应关系可以参考 Font 类的 colour_index 属性的值与颜色名字的映射表。

pattern_back_colour 背景色

类型:int

默认值:65

值与颜色的对应关系可以参考 Font 类的 colour_index 属性的值与颜色名字的映射表。

设置保护

要设置保护单元格,需要用到Protection类的如下实例属性:

cell_locked

类型:boole

默认值:True

值与含义对应关系如下:

False0:不锁定单元格

True1:锁定单元格

formula_hidden

类型:boole

默认值:False

值与含义对应关系如下:

False0:不隐藏公式

True1:隐藏公式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python设置excel单元格格式 的相关文章

  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • Excel工作簿关闭后反复打开

    我使用了 Application ontime 方法来调度一些宏 关闭工作簿后 它会一次又一次地打开 为了解决这个问题 我在工作簿上设置了另一个事件 BeforeClosed 现在它显示运行时错误 1004 Object Applicati
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 您可以格式化 pandas 整数以进行显示,例如浮点数的“pd.options.display.float_format”?

    我见过this https stackoverflow com questions 18404946 py pandas formatdataframe and this https stackoverflow com questions
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • datetime.datetime.now() 返回旧值

    我正在通过匹配日期查找 python 中的数据存储条目 我想要的是每天选择 今天 的条目 但由于某种原因 当我将代码上传到 gae 服务器时 它只能工作一天 第二天它仍然返回相同的值 例如当我上传代码并在 07 01 2014 执行它时 它
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 如何在不丢失注释和格式的情况下更新 YAML 文件 / Python 中的 YAML 自动重构

    我想在 Python 中更新 YAML 文件值 而不丢失 Python 中的格式和注释 例如我想改造 YAML 文件 value 456 nice value to value 6 nice value 界面类似于 y yaml load
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页

随机推荐

  • Python 数据分析与可视化实战

    一 Python环境搭建与配置 Python作为一门优秀的编程语言 受到很多程序员和编程爱好者的青睐 近年来 Python还在办公领域大展拳脚 许多白领纷纷加入了学习Python的行列 这是因为Python在数据的采集 处理 分析与可视化方
  • 关于C++匿名命名空间

    C 另外有一种匿名的命名空间 来保证生成的符号是局部的 这样对于匿名空间中的变量等 外部都是不可见的 test3 cpp static void bar namespace 匿名的命名空间 float bar2 int foo test4
  • java类的加载过程

    Java 类加载机制 类从被加载到JVM中开始 到卸载为止 整个生命周期包括 加载 验证 准备 解析 初始化 使用和卸载七个阶段 其中类加载过程包括加载 验证 准备 解析和初始化五个阶段 类的加载过程 png 类的加载过程 加载 1 通过类
  • Unity中GetAxisRaw和GetAxis的区别

    GetAxis带有变化程度 GetAxisRaw更精准 在Unity中 Input GetAxis和Input GetAxisRaw函数都用于读取输入轴的值 但它们有一些区别 GetAxis函数返回的值是经过平滑处理的 即它会在一定时间内将
  • vpn原理

    1 VPN原理 VPN是虚拟专用网络的简称 简单的说就是利用公用网络架设专用网络 当我们打开VPN的时候 VPN就会在电脑上虚拟一个IP地址 当电脑要传输数据包时 VPN会对这个数据包进行加密 发出数据包的地址是VPN虚拟出来的地址 而接受
  • WPF的RenderTransform特效

    RenderTransform特效 变形 WPF中的变形 RenderTransform 类是为了达到直接去改变某个Silverlight对象的形状 比如缩放 旋转一个元素 的目的而设计的 RenderTransform包含的变形属性成员就
  • 操作系统题库

    第一章作业一 一 单选题 共5题 25 0分 操作系统的 管理部分负责对进程进行调度 A 存储器 B 设备 C 文件 D 处理机 正确答案 D 我的答案 D 下面操作系统 要保证系统有较高的吞吐能力 A 批处理系统 B 分时系统 C 网络操
  • Linux-文本处理

    一 字段截取 1 1 cut字段提取命令 格式 cut d 间隔符 f 列号 c 字符 cut 选项 文件名 区别 grep是行提取命令 cut是列提取命令 d 指定分隔符类型 f 指定打印第几列 c 按字符分割 按照单个字符进行分割 比如
  • ElementUI实现el-table列的显示与隐藏和列拖拽(RuoYi分离版)

    显示隐藏步骤思路 一 table要实现v for循环添加列的操作 二 给列添加v if属性 方法返回当前列是否显示隐藏 在RightToolBar添加列显示隐藏的图标控件
  • 树莓派详解

    参考文献 1 树莓派教程第一课 树莓派简介 十分钟玩转系列入门篇 哔哩哔哩 bilibili
  • 计算机网络断开后怎么连接,电脑网络断开怎样重新连接

    大家好 我是时间财富网智能客服时间君 上述问题将由我为大家进行解答 电脑网络断开重新连接的方法是 1 点击右下角网络图标 点击 打开网络和共享中心 2 点击 更改适配器设置 3 点击右键启用网络即可 网络是由节点和连线构成 表示诸多对象及其
  • 腾讯高性能RPC开发框架Tars实现服务治理(微服务)

    Github https github com Tencent Tars 1 介绍 Tars是基于名字服务使用Tars协议的高性能RPC开发框架 同时配套一体化的服务治理平台 帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用
  • C++ string类的实现

    个人简介 作者简介 大家好 我是菀枯 支持我 点赞 收藏 留言 格言 不要在低谷沉沦自己 不要在高峰上放弃努力 前言 在C语言中 没有专门用来表示字符串的类型 C语言的字符串是一系列以 0 为结尾的字符的集合 虽然C语言为这样的字符串提供了
  • vc++ 编写Windows服务 1053错误

    http xk861119 blog 163 com blog static 16327042010109102237317 建立一个服务程序的最简单的方法是用VC中的ATL COM向导 主菜单中选择新建 然后选Projects中的ATL
  • 京瓷6525_京瓷6525扫描怎么设置?

    本文中要用到的快捷键 Alt 一般为空格左侧第一个按键 Win 一般为空格左侧第二个按键 一般按键上标识为微软logo 一 桌面新建文件夹 名自定义 数字或字母 不能用汉字 例如我的 6525 右键属性 共享
  • php- 静态代码检测

    1 安装 PhpMetrics 可以直接 composer 全局安装 composer global require phpmetrics phpmetrics 安装完毕之后 可以这样来运行命令分析代码复杂度 phpmetrics repo
  • 关于在Unity 中动画的某一帧执行函数

    打开动画的inspector 选择Events 添加一个帧 然后再Function中输入你需要执行的函数名
  • ICS计算机系统大作业

    计算机系统 大作业 题 目 程序人生 Hello s P2P 专 业 计算机学院 学 号 120L020427 班 级 2003004 学 生 易焯平 指 导 教 师 史先俊 计算机科学与技术学院 2022年5月 摘 要 几乎全世界的程序员
  • 通俗理解PCA降维作用

    概述 本文主要介绍一种降维方法 PCA Principal Component Analysis 主成分分析 降维致力于解决三类问题 降维可以缓解维度灾难问题 降维可以在压缩数据的同时让信息损失最小化 理解几百个维度的数据结构很困难 两三个
  • Python设置excel单元格格式

    文章目录 xlwt 模块简介 设置数字的格式 设置字体 设置对齐方式 设置边框 设置 填充 设置保护 xlwt 模块简介 xlwt 是 python中一个用来操作 excel 文件的库 其中 封装了很多常用操作 本文主要讲解使用该库在生成e