详解xlswriter 操作Excel的高级应用conditional_format

在文章详解xlsxwriter 操作Excel的常用API-CSDN博客

我们介绍了xlswriter 基础api的使用情况,在实际工作中我们经常会遇到下面的需求,cell满足某某条件时,进行对应的格式化处理。这时候我们可以使用conditional_format的函数,他允许我们根据特定条件将格式应用于单元格或单元格区域。进而避免通过开发人员使用大量的条件语句来实现Excel中的条件过滤功能。

conditional_format函数说明

def conditional_format(self, first_row, first_col, last_row, last_col,
                       options=
None):
   
"""
    Add a conditional format to a worksheet.

    Args:
        first_row:    The first row of the cell range. (zero indexed).
        first_col:    The first column of the cell range.
        last_row:     The last row of the cell range. (zero indexed).
        last_col:     The last column of the cell range.
        options:      Conditional format options.

    Returns:
        0:  Success.
        -1: Row or column is out of worksheet bounds.
        -2: Incorrect parameter or option.

其中Args: first_row first_collast_rowlast_col不做更多的解释,我们重点需要关注options:

主要参数包括:

type

format

criteria

value

minimum

maximum

其他参数还有

min_type

mid_type

max_type

min_value

mid_value

max_value

min_color

mid_color

max_color

bar_color

bar_only

bar_solid

bar_negative_color

bar_border_color

bar_negative_border_color

bar_negative_color_same

bar_negative_border_color_same

bar_no_border

bar_direction

bar_axis_position

bar_axis_color

data_bar_2010

icon_style

icons

reverse_icons

icons_only

stop_if_true

multi_range

这里我们重点讲解type参数。

Type: cell

即对单元格生效,cell对应的criteria如下:

type: text

用于指定Excel的“特定文本”样式条件格式的匹配:

worksheet.conditional_format('A1:A4', {'type':     'text','criteria': 'containing','value': 'foo','format':   format1})

常用的criteria还包括:

'criteria': 'containing',
'criteria': 'not containing',
'criteria': 'begins with',
'criteria': 'ends with',

代码实例

我们通过下面的demo来进行演示

实例 Type: cell 

import xlsxwriterworkbook = xlsxwriter.Workbook('test2.xlsx')
worksheet = workbook.add_worksheet()
fill_yellow = workbook.add_format({'bg_color': 'FFAA33'})
fill_red  = workbook.add_format({'bg_color': 'FF3333'})
fill_green = workbook.add_format({'bg_color': '00CC66'})
worksheet.conditional_format('A1:C1', {"type": "cell", "criteria": "<", "value": 50, "format": fill_red} )
worksheet.conditional_format('A1:C1',  {"type": "cell","criteria": "between","minimum": 50,"maximum": 89, "format": fill_yellow} )
worksheet.conditional_format('A1:C1', {"type": "cell", "criteria": ">=", "value": 90, "format": fill_green})
worksheet.write_row(0,0, [49,60,90])
workbook.close()

输出效果如下:

实例Type: text 

在上面代码的基础上增加

worksheet.conditional_format('A2:C2', {'type':     'text','criteria': 'containing','value':    'kevin','format':   fill_green})
worksheet.write_row(1,0, ['kevin','mike','tony'])

执行代码后可以看到excel里,kevin背景色为绿色

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/701672.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言----斐波那契数列(附源代码)

各位看官们好&#xff0c;当我写了上一篇博客杨辉三角后&#xff0c;有一些看官叫我讲一下斐波那契数列。对于这个大家应该是有了解的。最简单的规律就是f(n)f(n-2)f(n-1)。就是当前是前两项之和&#xff0c;然后下标1和0都是1.从第三项开始计算的。那么我们知道规律&#xff0…

echarts map地图添加背景图

给map地图添加了一个阴影3d的效果&#xff0c;添加一张背景图&#xff0c;给人感觉有3d的效果 具体配置如下&#xff1a; html代码模块&#xff1a; <div class"echart_img" style"position: fixed; visibility: hidden;"></div><div id&q…

【正则表达式】1、元字符的认识与分类

1、元字符的概念 正则表达式的常见功能&#xff0c;分别是校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。 我想你一定在办公软件&#xff0c;比如 Word、Excel 中用过这个功能。你可以使用查找功能快速定位关注的内容&#xff0c;然后使用替换&#xf…

【谷粒商城】04.快速开发

1.克隆代码 https://gitee.com/renrenio DELLLJL MINGW64 ~/Desktop $ git clone https://gitee.com/renrenio/renren-fast.git Cloning into renren-fast... remote: Enumerating objects: 1965, done. remote: Counting objects: 100% (1965/1965), done. remote: Compress…

查看Linux系统是Ubuntu还是CentOS

要查看Linux系统是Ubuntu还是CentOS&#xff0c;可以通过多种方式进行确认&#xff1a; 查看/etc/os-release文件&#xff1a; 在终端中执行以下命令&#xff1a; cat /etc/os-release 如果输出中包含"IDubuntu"&#xff0c;则表示系统是Ubuntu&#xff1b;如果输出中…

基于EKF扩展卡尔曼滤波的一阶环形倒立摆控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于EKF扩展卡尔曼滤波的一阶环形倒立摆控制系统simulink建模与仿真。基于扩展卡尔曼滤波&#xff08;Extended Kalman Filter, EKF&#xff09;的一阶环形倒立摆控制系统&…

SpringBoot多模块项目MybatisPlus配置

项目目录 主模块配置 配置类 Configuration EnableTransactionManagement MapperScan("com.sms.**.mapper") public class MybatisPlugConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor mybatisPlusInterceptor new…

最佳实践 | 用HelpLook构建一体化企业知识中台

企业知识中台是内容与数据的双向交流的重要载体&#xff0c;它不仅能够让企业的内容说话&#xff0c;也能够倾听和分析数据。 你是否因寻找建立企业内部知识库/知识中台和说明文档平台的合适工具而苦恼&#xff1f;HelpLook数字内容平台正是你的理想之选。该平台以其简洁且用户…

JSPfilters过滤技术

1.创建动态web项目 2.创建filters的文件 3.创建主页面 4.配置xml项目 总结构 主页面代码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html><html><head><meta cha…

MYDB运行环境的搭建

前言 再将该项目跑起来之前&#xff0c;我想你的环境应该是准备的差不多啦&#xff01;只需要稍稍的配置一下即可。 我在本地已经跑通了&#xff0c;说是兼容JDK8&#xff0c;但我本地刚好有11就用了11啦&#xff0c;跑起来的方法在仓库的 readme 里写的很清楚。 在运行mvn c…

springcloud简单了解及上手

springcloud微服务框架简单上手 文章目录 springcloud微服务框架简单上手一、SpringCloud简单介绍1.1 单体架构1.2 分布式架构1.3 微服务 二、SpringCloud与SpringBoot的版本对应关系2022.x 分支2021.x 分支2.2.x 分支 三、Nacos注册中心3.1 认识和安装Nacos3.2 配置Nacos3.3 n…

银行核心背后的落地工程体系丨混沌测试的场景设计与实战演练

本文作者&#xff1a; 张显华、窦智浩、卢进文 与集中式架构相比&#xff0c;分布式架构的系统复杂性呈指数级增长&#xff0c;混沌工程在信创转型、分布式架构转型、小机下移等过程中有效保障了生产的稳定性。本文分享了 TiDB 分布式数据库在银行核心业务系统落地中进行混沌测…