使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据

2023-12-19

我有一个很大的 Excel 表格(18k 行和 400 列),其中一些行使用不同的颜色突出显示。有没有办法使用按颜色过滤行openxlsx?

我首先加载了工作簿

wb <- loadWorkbook(file = "Items Comparison.xlsx")
getStyles(wb)
df <- read.xlsx(wb, sheet = 1)

我看到工作簿中使用的样式使用getStyles(wb),但不确定如何使用该信息按颜色过滤每列的所有单元格。

[[1]]
A custom cell style. 

 Cell formatting: GENERAL 
 Font name: Tahoma 
 Font size: 9 
 Font colour: #FFFFFF 
 Font decoration: BOLD 
 Cell borders: Top: thin, Bottom: thin, Left: thin, Right: thin 
 Cell border colours: #4E648A, #4E648A, #4E648A, #4E648A 
 Cell vert. align: top 
 Cell fill foreground:  rgb: #384C70 
 Cell fill background:  rgb: #384C70 
 wraptext: TRUE 


[[2]]
A custom cell style. 

 Cell formatting: GENERAL 
 Font name: Tahoma 
 Font size: 9 
 Font colour: #FFFFFF 
 Font decoration: BOLD 
 Cell borders: Top: thin, Bottom: thin, Left: thin, Right: thin 
 Cell border colours: #4E648A, #4E648A, #4E648A, #4E648A 
 Cell vert. align: top 
 Cell fill foreground:  rgb: #384C70 
 Cell fill background:  rgb: #384C70 
 wraptext: TRUE 

我可以做什么来按填充颜色过滤数据?

UPDATE

基于@Henrik 解决方案,我尝试使用他的代码,但我不断收到错误。因此,为了了解发生了什么,我打印了输出x$style$fill$fillFg

       rgb 
"FF384C70" 
       rgb 
"FF384C70" 
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
       rgb 
"FF384C70" 
NULL
NULL
NULL
       rgb 
"FFFFFF00" 
       rgb 
"FFFFFF00" 
 theme 
   "0" 
 theme 
   "0" 
       rgb 
"FFFFFF00" 
NULL
 theme 
   "2" 
                theme                  tint 
                  "4" "0.79998168889431442" 
 theme 
   "8" 
 theme 
   "8" 
       rgb 
"FFFFC000" 
       rgb 
"FFFFC000" 
                theme                  tint 
                  "5" "0.39997558519241921" 
                theme                  tint 
                  "5" "0.39997558519241921" 
                theme                  tint 
                  "9" "0.39997558519241921" 
                theme                  tint 
                  "5" "0.79998168889431442" 
       rgb 
"FFFFFF00" 
       rgb 
"FF384C70" 
NULL
NULL
NULL
       rgb 
"FF384C70" 
       rgb 
"FF384C70" 
[[1]]
       rgb 
"FF384C70" 

[[2]]
       rgb 
"FF384C70" 

[[3]]
NULL

[[4]]
NULL

[[5]]
NULL

[[6]]
NULL

[[7]]
NULL

[[8]]
NULL

[[9]]
NULL

[[10]]
NULL

[[11]]
NULL

[[12]]
NULL

[[13]]
       rgb 
"FF384C70" 

[[14]]
NULL

[[15]]
NULL

[[16]]
NULL

[[17]]
       rgb 
"FFFFFF00" 

[[18]]
       rgb 
"FFFFFF00" 

[[19]]
 theme 
   "0" 

[[20]]
 theme 
   "0" 

[[21]]
       rgb 
"FFFFFF00" 

[[22]]
NULL

[[23]]
 theme 
   "2" 

[[24]]
                theme                  tint 
                  "4" "0.79998168889431442" 

[[25]]
 theme 
   "8" 

[[26]]
 theme 
   "8" 

[[27]]
       rgb 
"FFFFC000" 

[[28]]
       rgb 
"FFFFC000" 

[[29]]
                theme                  tint 
                  "5" "0.39997558519241921" 

[[30]]
                theme                  tint 
                  "5" "0.39997558519241921" 

[[31]]
                theme                  tint 
                  "9" "0.39997558519241921" 

[[32]]
                theme                  tint 
                  "5" "0.79998168889431442" 

[[33]]
       rgb 
"FFFFFF00" 

[[34]]
       rgb 
"FF384C70" 

[[35]]
NULL

[[36]]
NULL

[[37]]
NULL

[[38]]
       rgb 
"FF384C70" 

[[39]]
       rgb 
"FF384C70" 

我还是很困惑为什么只有 39 个项目。总行数是可变的,但不是 39。我也不理解该操作 - 是按行还是按列?


library(tidyxl)

formats <- xlsx_formats( "./temp/test_file.xlsx" )
cells <- xlsx_cells( "./temp/test_file.xlsx" )

#what colors are used?
formats$local$fill$patternFill$fgColor$rgb
# [1] NA         "FFC00000" "FF00B0F0" NA  

#find rows fo cells  with red background
cells[ cells$local_format_id %in%
         which( formats$local$fill$patternFill$fgColor$rgb == "FFC00000"), 
       "row" ]

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

使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据 的相关文章

  • Excel:包括过滤器中的第一行

    我正在特别考虑 Excel VBA 的 AutoFilter 方法 但我认为我的问题也适用于 GUI 当我将筛选器应用于 Excel 工作表时 未选择任何内容 筛选器将应用于所有行从第二次开始 有什么方法可以包含第一行 以便它也可以被过滤掉
  • R 中大型稀疏矩阵的聚类分析

    我有一个包含 250000 笔交易 行 和 2183 项 列 的交易数据集 我想将其转换为稀疏矩阵 然后对其进行分层聚类 我尝试了包 sparcl 但它似乎不适用于稀疏矩阵 关于如何解决这个问题有什么建议吗 或者我可以使用任何其他包对稀疏矩
  • 包检查时如何有效处理未压缩的保存?

    在最近开发一个包的过程中 我将数据集包含在data 我的包的文件夹 在我的具体情况下 我有 5 个数据集 所有这些数据集都位于data table格式 尽管我在下面描述的问题仍然存在 如果我将它们保留为data frame 我已将每个人单独
  • 有效地将环境从内部功能转移到全局环境

    我有一个在其中创建环境的函数 我希望将该环境分配给全局环境 目前我通过将环境分配给来做到这一点globalenv 作为最后一步 如下 funfun lt function inc 1 dataEnv lt new env dataEnv d
  • 使用 ggplotly(ggplot2 withplotly)时可以去掉注释中的跟踪标签吗?

    使用ggplotly时是否可以删除注释中的跟踪标签 例如 library ggplot2 library plotly g lt ggplot iris aes Sepal Width Sepal Length geom point ann
  • 在 Django(Python) 中向用户提供 Excel(xlsx) 文件下载

    我正在尝试使用 Django 创建和提供 Excel 文件 我有一个 jar 文件 它获取参数并根据参数生成 excel 文件 并且它可以正常工作 但是 当我尝试获取生成的文件并将其提供给用户下载时 文件损坏了 它的大小为 0kb 这是我用
  • 按绝对值排序

    有谁知道如何按绝对值对 R 中的向量进行排序 所以 2 3 1 gt 1 2 3 etc 如果我在 python 中这样做 我会创建一对每个值及其符号 按绝对值对对列表进行排序 然后重新应用符号 但我对 R 很陌生 所以不知道如何执行此操作
  • alasql 需要已包含的 xlsx

    我正在尝试使用将数据导出到 Excel 工作表alasql and xlsx 我已遵循此处的所有准则 https github com agershun alasql wiki Xlsx https github com agershun
  • 使用 SparkR 1.5 从 RStudio 中的 hdfs 读取大文件(纯文本、xml、json、csv)的选项

    我是 Spark 新手 想知道除了下面的选项之外是否还有其他选项可以使用 SparkR 从 RStudio 读取存储在 hdfs 中的数据 或者我是否正确使用它们 数据可以是任何类型 纯文本 csv json xml 或任何包含关系表的数据
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • 带有嵌套分组变量的多行轴标签,用于 - R 中的堆积条形图

    我想使用 ggplot 制作一个包含多个类别的堆叠条形图 并带有嵌套的标记 X 轴 类似于我使用 Excel 制作的条形图 如此处所示 我尝试使用给出的例子here https stackoverflow com questions 181
  • 如何在 Shiny 中动态渲染的 textInput 添加样式元素

    你好堆栈溢出 在我最近提出的问题中 我已经解决了一些与动态渲染 UI 元素相关的主要问题 并在一些了不起的人的帮助下动态创建了观察者 参见此处 动态渲染的 UI 如何在第二次运行时删除旧的反应变量 https stackoverflow c
  • 分割单个 SpatialPolygons 对象的多边形部分

    在 R 中 我有一个SpatialPolygons包含数百个多边形的对象 即多个多边形 我想分割这个SpatialPolygons对象放入列表中Polygons 即孔应保持连接到父多边形 知道如何做到这一点吗 EDITED 使用以下提供的示
  • 如何优化 R 中的 sapply 来计算数据帧上的运行总计

    我在 R 中编写了一个函数来按月份计算累积总数 但随着数据集变大 我的方法的执行时间呈指数增长 我是一名 R 程序员新手 你能帮我提高效率吗 该函数以及我调用该函数的方式 accumulate lt function recordnum d
  • 在 R Shiny 中显示/隐藏整个框元素

    我目前正在尝试找到一种方法来隐藏 显示 R Shiny 中的整个 box 元素 以及里面的所有内容 我想创建一个可能的按钮 它允许用户展开特定框 然后使用相同 甚至不同 的按钮隐藏它 我不想使用条件面板 因为我的应用程序非常大并且会产生一些
  • 将 csv 文件上传到shinyApps.io

    我的应用程序在本地运行良好 并且我能够成功地将应用程序部署到shinyapps io 服务器 但是当我尝试使用shinyapps URL 在浏览器中加载应用程序时 收到以下错误消息 错误对象 数据 不是成立 我认为这是因为 data 变量从
  • 使用插入符和方法 = gamLoess 进行训练时 R 崩溃

    当我运行下面的代码时 R 崩溃了 如果我在训练调用中注释掉tuneGrid行 就不会发生崩溃 我已经用另一个数据集尝试过此操作 但仍然使 R 崩溃 崩溃消息是 R 会话中止 R遇到致命错误 会话被终止 开始新会话 代码是 library s
  • R Shiny - 使用 DataTable 移动列名称

    我有一个非常复杂的闪亮代码 其中有几个面板和这些面板内的几个表格 启动应用程序时 列名称与列值正确对齐 但是 一旦我更改应用程序表格下的页码 列名称就会移动到左侧 而值仍保留在中间 如何强制应用程序使列名称与列值对齐 一个可重现的例子 li
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD
  • R - 如何为数据范围内的缺失值绘制条形图零点?

    假设我对 1 到 10 之间的整数的 200 个点有 10 个观察值 mysample sample rep seq 1 10 20 10 我想用条形图绘制它 barplot table mysample barplot https i s

随机推荐

  • 小程序项目基于微信点单小程序系统

    前言 本微信点单小程序是根据当前的实际情况开发的 在系统语言选择上我们使用的Java语言 数据库是小巧灵活的MySQL数据库 框架方便使用的是当前最主流的SPRING BOOT框架 本系统的开发可以极大的满足了人们在线点单的需求 微信点单小
  • 期权有杠杆吗?在哪里看期权有多少倍杠杠?

    期权有杠杆吗 在哪里看期权有多少倍杠杠 期权本身没有杠杆 期权合约自带杠杆 期权买方只需要缴纳较少的权利金就可以获得更高价值的标的资产波动所带来的收益 但是期权卖方不需要缴纳保证金 期权卖方需要付出保证金才可以建仓 这是因为期权卖方需要履行
  • 如何对大模型进行评估下

    如果从实现评估的纬度来分 可以将不同类型的评估分为三类 具体如下所示 更多理论的详细信息可以参见博客 如何对大模型进行评估上 接下来就从第一种类型出发 看看评估脚本是如何实现的 这里分析的源代码是 Qwen的评估脚本 如何使用选择题类型数据
  • 新书推介——《AI摄影绘画与PS优化从入门到精通》

    在这个数字化时代的浪潮中 人工智能技术以其惊人的创造力和创新性席卷全球 从智能助手到自动驾驶 从自然语言处理到机器学习 AI正日益成为我们日常生活和各个领域不可或缺的一部分 摄影和绘画领域也不例外 AI技术为我们提供了前所未有的创作和表达方
  • PyCharm的环境配置和使用

    最近要开发python项目 用到了编辑器PyCharm 这款工具用起来还是很方便的 自带代码提示功能和代码格式化 报错信息提示 调试代码很方便 我用的软件版本是 PyCharm 2021 3 2 Community Edition 安装完
  • 什么是虚值期权?什么是深度虚值期权?

    在期权市场里有一种合约的价格往往比较便宜 它就是虚值期权 也是最受欢迎的期权之一 虚值期权也就是高杠杆和波动被世人所爱 久闻的一日192倍行情就是出自于虚值期权 下文科普什么是虚值期权 什么是深度虚值期权 一 虚值期权是什么 虚值合约因为价
  • 基于Java的旅游路线系统网站

    前言 本基于Java web的旅游路线系统是根据当前我国旅游的大环境相关的内容实际情况开发的 在系统语言选择上我们使用的Java语言 数据库是小巧灵活的MySQL数据库 本系统的开发可以极大的提高旅游方面的管理 本基于Java web的旅游
  • 如何对大模型进行评估上

    大模型评估指标 对于AI大模型 可以从哪些方面来进行评估呢 要进行大模型评估 首先需要熟悉有哪些评估指标 大模型有哪些评估指标呢 先从查看开源大模型的官网开始 看看开源大模型给出了哪些评估指标数据 下图是Qwen Llama的评估指标 下图
  • 数据资产怎么治理

    在当今数字化时代 数据已经成为企业最重要的资产之一 然而 随着数据量的迅速增长和多样化 如何有效地管理和利用数据成为了一个迫切的问题 数据资产治理正是为了解决这个问题而提出的一种管理框架 旨在确保数据质量 安全性和价值的最大化 下面数聚就深
  • 完整的vite + ts + vue3项目,克隆就能用,傻瓜式保姆教程(第二篇)

    目录 前言 一 基础知识准备 1 1 接口请求 本篇重点内容 1 1 1 Fetch API 1 1 2 XMLHttpRequest 1 1 3 axios 推荐 1 1 4 EventSource 1 1 5 WebSocket 1 2
  • 基于springboot的精准扶贫管理系统

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 本精准扶贫管理系统管理员和用户 管理员功能有个人中心 用户管理 贫困户管理 热门新闻管理 新闻类型管理 志愿者招聘管理
  • springboot基于web的音乐网站

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 本音乐网站管理员功能有个人中心 用户管理 歌曲分类管理 歌曲信息管理 管理员管理 系统管理等 用户可以注册登录 试听歌
  • 基于springboot的校园社团信息管理系统

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 本校园社团信息管理系统管理员功能有个人中心 学生管理 社长管理 社团分类管理 社团信息管理 加入社团管理 社团成员管理
  • 基于springboot的大型商场应急预案管理系统

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 本大型商场应急预案管理系统管理员功能有个人中心 员工管理 预案信息管理 预案类型管理 事件类型管理 预案类型统计管理
  • Java基于springboot的厨艺交流平台的设计与实现

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 这次开发的厨艺交流平台功能有个人中心 食材分类管理 用户管理 菜品分类管理 菜谱信息管理 食材信息管理 商品分类管理
  • 使用 Stdin.readLineSync() 时出错;在飞镖中

    在 VS Code 中 我在从用户获取代码的基本输入中收到此错误 我的完整代码 导入 dart io void main stdout write Enter your name var name stdin readLineSync st
  • Gradle 必须依赖 com.google.firebase:firebase-core 才能使 Firebase 服务按预期工作[重复]

    这个问题在这里已经有答案了 编译时我收到这样的警告 应用 Gradle 文件必须依赖 com google firebase firebase core 才能使 Firebase 服务按预期工作 只需添加以下行 updated implem
  • 在 Android 中经常检查互联网连接是否可用?

    我的应用程序是通过 NetConnection 保存 到服务器 数据 如果网络不可用 我会在本地保存 然后当网络再次可用时发送到服务器 我的问题是检查经常连接互联网所以我尝试了服务功能来检查网络连接 但只打了一次电话 如何解决我的问题 任何
  • 正则表达式允许一个字符(不应该)为什么?

    您好 我正在尝试创建一个正则表达式来识别输入的金钱和数字 我必须允许数字 因为我期望以编程方式输入非格式化数字 然后我自己格式化它们 由于某种原因 我的正则表达式允许一个字母字符作为可能的输入 0 9 0 9 0 9 我知道我的正则表达式接
  • 使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据

    我有一个很大的 Excel 表格 18k 行和 400 列 其中一些行使用不同的颜色突出显示 有没有办法使用按颜色过滤行openxlsx 我首先加载了工作簿 wb lt loadWorkbook file Items Comparison