首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我使用poi来获取backgroundcolor,但它通过不同的颜色获得相同的argbhex

POI是一款Java库,用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。在使用POI获取Excel文件中单元格的背景颜色时,可能会遇到通过不同的颜色获得相同的ARGBHEX(Alpha、Red、Green、Blue)值的情况。

这种情况通常是由于Excel文件中使用了主题颜色或者自定义颜色所导致的。主题颜色是一种在Excel中定义的颜色集合,它们可以根据不同的主题进行调整。自定义颜色是用户自己定义的颜色。

在POI中,获取单元格背景颜色的方法是通过HSSFCellStyle或XSSFCellStyle对象的getFillForegroundColor方法来实现的。这个方法返回的是一个short类型的索引值,表示颜色在Excel颜色表中的索引位置。

由于POI无法直接获取ARGBHEX值,我们可以通过以下步骤来解决这个问题:

  1. 使用getFillForegroundColor方法获取颜色索引值。
  2. 判断颜色索引值的类型,如果是主题颜色或自定义颜色,则需要进一步处理。
  3. 如果是主题颜色,可以使用POI的ThemeColor类来获取主题颜色的RGB值。
  4. 如果是自定义颜色,可以使用POI的HSSFColor或XSSFColor类来获取自定义颜色的RGB值。
  5. 将RGB值转换为ARGBHEX值。

以下是一个示例代码,演示如何使用POI获取Excel单元格的背景颜色并转换为ARGBHEX值:

代码语言:txt
复制
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExcelColorExample {
    public static void main(String[] args) {
        try {
            Workbook workbook = new XSSFWorkbook("example.xlsx"); // 读取Excel文件
            Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
            Row row = sheet.getRow(0); // 获取第一行
            Cell cell = row.getCell(0); // 获取第一个单元格

            CellStyle cellStyle = cell.getCellStyle(); // 获取单元格样式
            short colorIndex = cellStyle.getFillForegroundColor(); // 获取颜色索引值

            Color color = null;
            if (cellStyle instanceof XSSFCellStyle) {
                color = ((XSSFCellStyle) cellStyle).getFillForegroundXSSFColor();
            } else if (cellStyle instanceof HSSFCellStyle) {
                color = ((HSSFCellStyle) cellStyle).getFillForegroundXSSFColor();
            }

            if (color != null) {
                byte[] rgb = color.getRGB();
                int alpha = 0xFF; // 默认不透明
                int red = rgb[0] & 0xFF;
                int green = rgb[1] & 0xFF;
                int blue = rgb[2] & 0xFF;

                String argbHex = String.format("#%02X%02X%02X%02X", alpha, red, green, blue);
                System.out.println("ARGBHEX: " + argbHex);
            }

            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先获取单元格的样式,然后通过样式获取颜色索引值。接下来,根据样式的类型,我们使用不同的方法获取颜色对象。最后,我们将颜色的RGB值转换为ARGBHEX值,并打印输出。

对于腾讯云的相关产品和产品介绍链接地址,由于要求不能提及具体的品牌商,建议您访问腾讯云官方网站或进行相关搜索以获取更多信息。

相关搜索:我已经两次尝试获取相同的html元素,并且我调用相同的php类来返回它,但它是不同的。同时使用并发命中相同的API来获取不同的数字?如何通过使用mongoose查询我的mongodb来获得postIds的长度我如何通过比较两个不同的fen来获得玩过的走法?如何使用geom_step对线段使用不同的颜色来获得阶梯图我想在selenium中使用相同的数据提供程序,但不同的函数使用不同的excel路径来提供数据我是否可以使用相同的操作、效果和服务来获取从具有不同有效负载的相同端点发出的值?我可以通过sqlalchemy使用多进程来查询不同的服务器吗?我可以使用grep来获取grep结果中相同结果的数量吗?我正在使用zklib库的生物识别设备来获取学生的出勤记录,但它显示了空白页面我可以使用相同的密钥库文件来签署两个不同的应用程序吗?通过使用underscore.js传递具有相同属性的两个不同值来验证json单个对象Bootstrap:我应该使用哪些单元来制作一个在不同屏幕上看起来相同的表单?使用Keras通过嵌入来预测两个数字是否具有相同的“奇异性”,我是在正确的轨道上吗?如果一条记录具有相同的倍数,我如何通过单击智能字段并在浏览器上显示来获取该记录?我在VS Code中使用相同的py文件来学习不同的示例。为什么在我删除并编写不同的代码后,它仍然运行第一个代码块?我需要一个PHP查询来从数据库中获取数据,并在我的条形图中使用以获得结果如何在python kivy文件中制作我的自定义widget,并通过更改其大小、位置和颜色来多次使用它?使用angular,我想通过只输入一个文件来输入两个同名但文件扩展名不同的文件使用imap获取电子邮件附件,但无论电子邮件是从Outlook客户端还是通过Web发送,都会获得不同的结果
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

终于有一款组件可以全面超越Apache POI

但在Apache POI中,使用高级API增加条件格式判断会受限。因此,只能使用标记为内部用途低级类来处理Top10、高于平均值(AboveAverage)等格式化选项。...过滤器数据类型 GcExcel广泛支持文本、数字、日期、颜色和图标等过滤器。 Apache POI仅支持基本AutoFilter,需要使用低级类实现应用过滤或创建任何其他高级过滤器。...单元格中获取/设置值 在对单个单元格执行获取/设置值情况下,GcExcel比Apache POI表现更好。 13....GcExcel更加易于使用且功能全面,通过其提供在线演示示例和帮助文档,开发人员可以快速上手,迅速掌握产品使用技巧。...尽管 Apache POI 是免费但它速度和内存消耗远远达不到企业级项目的标准,这就是为什么只选择100,000 * 30个单元格原因,因为即使在1,000,000 * 30个单元格情况下,

3.3K10
  • 【Web APIs】JavaScript 操作元素 ⑧ ( DOM 操作元素 案例 | 获取焦点 onfocus 事件 | 失去焦点 onblur 事件 | 获取设置 HTML 页面背景颜色 )

    当 DOM 元素 获得焦点时 , 该 DOM 元素上绑定 onfocus 事件被触发 ; 绑定该 onfocus 事件元素 一般都是 input 表单元素 ; 如 : 当 用户 点击输入框 或 通过键盘切换到输入框时..., 该事件会被触发 ; 绑定 onfocus 事件方法 : 设置 onfocus 属性 : 可以 通过 DOM 操作 , 给元素添加 onfocus 属性 , 指定当焦点集中在元素上时要执行JavaScript...可以通过 DOM 操作 , 给元素添加 onblur 属性 , 指定当焦点集中在元素上时要执行JavaScript代码 ; // 行内设置 : 使用 onblur 属性 <input type="...- <em>获取</em> / 设置 HTML 页面背景<em>颜色</em> document.body.style.<em>backgroundColor</em> 属性 可 用于 设置 或 <em>获取</em> HTML 页面 <em>的</em>背景<em>颜色</em> ; 设置背景<em>颜色</em>示例 :...; <em>通过</em>直接设置 style.<em>backgroundColor</em> , 可以 实时更改页面的背景<em>颜色</em> , 这种方式 比修改 CSS 文件更为便捷 , 尤其适用于动态交互或响应用户事件<em>的</em>情况 ; 3、代码示例

    9510

    为什么说Flutter让移动开发变得更好?

    几个月前开始使用Flutter,那时还是beta版。通过官方文档和示例开始了Flutter学习旅程(文档写特别棒)。...能够将用户界面的一部分抽取到像Widget这样自包含单元中,可以轻松地在应用程序中甚至跨不同应用程序重复使用这些小部件。这个应用中,布局很多部分都在不同界面上重复使用,并让告诉你:这真的很简单。...通过构建用于加载和显示数据泛型类实现,这使得可以重复使用电影和演出每个布局。如果用Android实现相同事情,必须为电影和演出分别使用不同Activity。...当开始使用AndroidDatabinding时,认为这是革命性但它也感觉像是一个不完整产品。...Flutter使用Databinding相同思想,即将视图/小部件绑定到变量,而无需在Java / Kotlin中手动管理数据绑定,不用专门绑定文件桥接XML和Java。

    2K10

    HarmonyOS一杯冰美式时间 -- 验证码框

    在HarmonyOS中对应就是TextInput。因为需要数个相同输入框,我们先写一个通用输入框。 ...我们新增了一个名为 codeKids 数组,并用空字符进行了填充,并使用 @State 注解修饰它。...需要注意是,并不能使用focusable(true)达到将焦点赋予给某个输入框操作,移动焦点需要使用focusControl.requestFocus(),而requestFocus需要参数是输入框...在这里试了很多种办法。都没法做到尽善尽美。多方查证,也觉得TextInput做这个应该是不可行,只能等官方下场修复。那怎么办呢?...四、反过来想 Text() + TextInput()如果多个输入框有问题,那么用一个输入框不就行了?于是就想到了使用多个Text(),一个TextInput方案。

    10820

    从零开始搭建一个GIS开发小框架(七)——GMap.Net组件WPF版本加载POI性能测试

    建个表,导入数据,写个查询读取数据并组装成想演示数据结构; 读取数据(以List形式),遍历获取每一个POI坐标p,按p创建marker标记; 给每一个marker注册一个鼠标事件,移入即可弹出信息浮框...数据加载功能,相当于完成了POI应用场景第一步,也就是原始数据在GIS棋盘上摆放,后续就可以对POI数据做分析挖掘了,比如POI各类点之间关系,通过坐标可以在几何层面建立数学模型,往微观方向可以研究点与点之间细微关系...点在一个相同测量规则下得到差异化测量结果,从而帮助我们认识社会组成元素差异化属性。...往宏观方向可以研究点变化趋势或者点集合特点或规律,比如我们给POI增加房价属性以后,通过POI集合形成房价热力图,可以看到整个地区房价分布趋势,如果增加时间轴,还可以根据时间推进,观察房价变化趋势...在热力图中你可以看到自己家所在位置颜色越来越暗,发小家颜色越来越红,这体现出两个不同POI点在同一考察维度热力图中按照不同趋势走向了不同方向,从而帮助我们认识社会发展规律,认清自己在这个社会滚滚洪流中位置

    41620

    Android开发笔记(一百零三)地图与定位SDK

    集成地图SDK 国内常用地图SDK就是百度和高德了,二者用法大同小异,可按照官网上开发指南一步步。...下面是在集成地图SDK时遇到问题说明: 1、点击基本地图功能选项,不能打开地图,弹出“key验证出错!请在AndroidManifest.xml文件中检查key设置红色字提示。...app在开发时与发布时有两个不同签名,开发时用是ADT默认签名,查看默认签名SHA1值可依次选择“Window”->“Preferences”->“Android”->“Build  SHA1 fingerprint...这是因为百度和高德sdk,其jar包存在同名文件“assets/lineDashTexture.png”,所以无法通过编译。...POI搜索是地图sdk一个重要应用,根据关键字搜索并在地图上显示POI结果,这是智能出行基础。 下面是使用百度地图搜索POI截图: ?

    1.6K10

    小程序实战(三) - head组件封装与使用

    页面head部分包含特定功能,比如说:搜索框,地理位置等。 应用中需要换肤功能,需要根据设置更改head背景颜色。...美团.jpg 比如说美团小程序这里head就为封装head组件,包含了地理位置功能,接下来开始封装属于我们head 获取系统head高度 因为不同机型顶部高度不同,所以我们必要根据不同机型设置不同...- statusBarHeight) * 2 封装组件 封装头部组件方式和其他组件相同,在components目录下新建组件 获取高度 首先我们需要在attached生命周期中通过获取全局变量方式拿到我们所需要胶囊信息与高度信息...,即背景颜色,定位信息图标,返回按钮,根据不同功能设置值类型即可,比如背景颜色这里为字符串类型,其他为布尔型 配置组件功能 一般来说基础head基本功能就是返回上一个页面,封装一个back方法调用...", }, 取消默认head 在页面的json文件中取消默认head配置,如下 "navigationStyle": "custom" 直接使用 最后一步直接使用即可,相关属性根据自己配置设置

    1.2K20

    JQuery 入门学习(完结)

    在这里,来说一下我们获得这个DOM对象。     在Jquery中,有对html操作一些函数,比如$(xx).html(),获取某元素内内容。...而在单纯javascript中,也有对html操作DOM函数,比如xx.innerHTML,它也是获取某元素中内容。而在实际运用中,这两种函数是不能互相使用。...比如我们一个Jquery对象:$("div#test"),它不能用$("div#test").innerHTML获取内容,只能用$("div#test").html()获取。    ...所以大家可以看到,使用是DOM中方法event.target.parentNode.style.backgroundColor,首先用parentNode获得td元素父元素tr元素(因为是要一行都改变颜色...通过将近一个月Jquery学习,获得了很多,也更大程度继续理解代码。

    94110

    Android自定义View实现渐变色进度条

    进行效果分解: 1.渐变色,看起来颜色变化并不复杂,使用LinearGradient应该可以实现。 2.圆头,无非是画两个圆,外圆使用渐变色颜色,内圆固定为白色。...4.进度值,使用文本来显示; 5.弧形头部,考虑使用直线进行连接,或者使用曲线,例如贝塞尔曲线; 首先初步实现了进度条模样,发现样子有了,却不太美观。...{ this(context, attrs, 0); } public GoodProgressView(Context context) { this(context, null); } // 获得自定义样式属性...,一个渐变色使用随机颜色,这样每次运行效果不同,比较有趣一些,另外我们也可以从随机效果中找到比较好颜色组合。...进度变化,是使用了一个定时器推进。

    2K10

    Philip S.Yu 讲广度学习到底是什么?

    要做好「广度学习」,认为需要以下三步: 首先,定义并获取相关有用数据源,也即找到对你问题有用数据; 其次,设计一种模型将异质数据源信息融合起来; 最后,基于模型整体需求从各种数据源中深度地去挖掘信息...每一个个体可能会注册使用多个社交网络平台。 下面将讲述三个社交网络问题。...LSTM 网络通过结构化方式连接起来,因为 LSTM 通过将表征向量作为来自 CNN 层输入学习用户偏好和具有 POI 语义信息先验知识序列模式。...对这种异质数据,我们使用一个 Network Schema 表示,也即将 what、who、when、where 等通过网络形式连接起来。...2)如果两个人发布信息有相同 word、相同 location 或者相同 time,那么他们在异质网络中也可以通过异质路径连接起来。

    1.4K111

    Extensions in UWP Community Toolkit - ViewExtensions

    ,主要处理逻辑是通过 GetSystemNavigationManager() 获取 SystemNavigationManager,然后再设置或获取这个属性; 2. ...(page, color) - 获取和设置 StatusBar 背景颜色,主要通过 GetStatusBar() 获得 StatusBar 实例,然后获取或设置 BackgroundColor 属性;...StatusBar 是否可见,获取方法通过获取 OccludedRect Height 高度判断是否可见,因为 InputPane VIsible 属性只在 XBox 有效;设置是通过 Page...(page, color)  - 获取和设置 TitleBar 背景色,主要通过 GetTitleBar() 方法获得 TitleBar 实例,然后获取或设置 BackgroundColor 属性;在显示上会覆盖...page, color) - 获取和设置 TitleBar 右上角三个按钮背景色,主要通过 GetTitleBar() 方法获得 TitleBar 实例,然后获取或设置 ButtonBackgroundColor

    95960

    3-关于小五物联功能介绍(添加波形图,Achartengine)

    private Context context; /*方便让别的类获取这个类context,这样就可以用获得context来使用这个里面的方法*/ public AchartengineMethod...;// 曲线渲染器,在配置曲线参数中创建新 /*方便让别的类获取这个类context,这样就可以用获得context来使用这个里面的方法*/ public AchartengineMethod...context,这样就可以用获得context来使用这个class里面的方法*/ public AchartengineMethod(Context context) {.../*方便让别的类获取这个类context,这样就可以用获得context来使用这个class里面的方法*/ public AchartengineMethod(Context...现在要把线变为动态添加,以适应自己软件 先不仔细介绍了,先赶紧写完程序,担心自己电脑会死机,时间太长了 后期补上

    1.3K30

    【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中基本文本和button以及各种跳跃

    让我们风格barStyle、背景backgroundColor、frame属性(能够获取宽高这些信息)。还能够用setBackgroundImage方法设置背景图片。...我们当然也能够利用自己创建导航条button覆盖原来导航控制器产生默认button,如“<Back”。 相同。...,也是半透明玻璃状颜色效果 self.navigationController.navigationBar.backgroundColor=[UIColor orangeColor];...获得x和y //高44。...事实上是导航控制器在控制,在里面的元素都能够通过navigationController属性获取到它们所在导航控制器 //所以(2)获取到导航控制器之后,使用Push那个方法,往栈里面放一个视图控制器

    2.3K10

    暗黑模式在 Trip.com App 实践

    在 Light 模式中,我们使用带投影白色卡片模拟现实世界空间深度感,而切换到 Dark 模式,则需要通过较浅颜色表面表示高度。层级越高,越接近于光源,表面的颜色就越浅。 ?...2.2.2 插画系统设计 开启 Dark Theme,就像是我们把房间窗帘拉上了,打开了一盏灯,不同层级高度物体表面会受到不同光照,表现出不同明暗颜色。...部分无法通过动态色适配场景,如 CGColor、RGB 颜色,可以通过 resolvedColorWithTraitCollection 方法解析出当前上下文所需要颜色进行使用。...3.2.2 适配方案 我们通过开关设置、颜色适配、图片适配和其他注意事项四小节介绍AndroidDark Theme适配方案。...3.3 ReactNative 3.3.1 适配方案 RN 桥接 Native 端,通过直接获取和动态监听两种方式获取 Native 端主题变化。

    1.9K20

    HarmonyOS开发学习(3)–页面开发

    LoadingProgress使用非常简单,只需要设置颜色和宽高就可以了。...同时系统可以根据当前配置加载合适资源,例如,开发者可以根据屏幕尺寸呈现不同布局效果,或根据语言设置提供不同字符串。...示例代码效果图如下: 上面构建网格布局使用了固定行数和列数,所以构建出网格是不可滚动。然而有时候因为内容较多,我们通过滚动方式显示更多内容,就需要一个可以滚动网格布局。...Tabs组件 在我们常用应用中,经常会有视图内容切换场景,展示更加丰富内容。比如下面这个页面,点击底部页签选项,可以实现“首页”和“” 两个内容视图切换。...ArkUI开发框架提供了一种页签容器组件Tabs,开发者通过Tabs组件可以很容易实现内容视图切换。页签容器Tabs形式多种多样,不同页面设计页签不一样,可以把页签设置在底部、顶部或者侧边。

    94810

    JavaScript——DOM基础

    获取页面中元素可以使用以下几种方式: 根据ID获取 根据标签名获取 通过HTML5新增方法获取 特殊元素获取 根据ID获取 使用 getElementById()方法可以获取带有ID元素对象。...,更好查看里面的属性和方法 get获得 element元素 by通过 驼峰命名法 参数id是大小写敏感字符串所以要加单引号 返回是一个元素对象 根据标签名获取 使用 getElementByTagName...修改样式属性 我们可以通过JS修改元素大小、颜色、位置等样式。...= ''; } //然后才让当前背景颜色为pink this.style.backgroundColor...childNode获得是所有类型子节点,包含元素节点、文本节点等,如果想要获得里面的元素节点,则需要专门处理,所以我们不提倡使用childNodes。

    6.5K20

    Android必知必会-带列表地图POI周边搜索

    (PoiResult result, int rCode) 方法中 rCode 值要根据当前使用高德 SDK 版本进行更改。...评论中有网友说 rCode = 1000 时表示返回结果正常,使用版本参考了对应版本 Demo, rCode = 0 表示正常,所以这一点使用时请务必要参考官方 Demo。...思路: 利用地图定位功能,获取用户当前位置 根据获得位置信息调用POI搜索,获取位置列表 ListView展示位置列表 用户拖动地图,获取地图中心坐标的位置信息,并执行2~3步骤 代码: Layout...下面是一些资料,初学者务必先学习基础API应用: 高德开发者中心 慕课网-如何使用高德Android SDK进行LBS开发 带列表地图POI周边搜索 如果你有什么问题,可以在博客上留言。...PS: 你可以关注Github、CSDN和微博

    1.4K30

    在 Flutter 使用 GetX 对话框

    我们还将实现一个演示程序,并了解如何使用 Flutter 应用程序获取包创建对话框。 获取 | Flutter Package GetX 是一个超轻和强大解决方案 Flutter 。...演示模块: 这个演示视频展示了如何在 Flutter 中创建一个对话框,并展示了如何使用 Flutter 应用程序中 get 包工作,以及使用不同属性。它会显示在你设备上。...> barrierDismissible: 如果我们想通过单击对话框外部关闭对话框,那么这个属性值应该为 true else false。默认情况下,它值为 true。...您还可以使用 GetX 提供不同选项对其进行自定义。我们将添加标题,中间文本,背景颜色,标题样式,中间文本样式和半径。...这是使用 GetX 进行用户交互对话框一个小小介绍,它正在使用 Flutter 工作。 希望这个博客将提供您充分信息,尝试在您 Flutter 项目使用 GetX 对话框。

    17310
    领券