Android修行手册-POI操作Excel实现超链接并且变为蓝色
- 点击跳转=>Unity3D特效百例
- 点击跳转=>案例项目实战源码
- 点击跳转=>游戏脚本-辅助自动化
- 点击跳转=>Android控件全解手册
- 点击跳转=>Scratch编程案例
- 点击跳转=>软考全系列
👉关于作者
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,交流让学习不再孤单。

👉实践过程
😜问题
我有个 Excel 文档,里面有很多的图片链接,需要进行内容提取分类,并且保存为新的 Excel 文件。写入保存后看到里面的超链接是默认的文本形式。失去了原 Excel 的超链接蓝色以及跳转功能。
😜解决
超链接
翻了翻 POI 的文档, 很容易就找到了解决方案。在 POI 中让单元格实现超链接功能, 可以用Hyperlink 函数。
方式一:
CreationHelper createHelper = yesOrNoWorkBook.getCreationHelper(); // 创建一个超链接对象
Hyperlink hyperlink = createHelper.createHyperlink(XSSFHyperlink.LINK_URL);
hyperlink.setAddress(str); // 设置超链接的地址
newCell.setHyperlink(hyperlink); // 在单元格中添加超链接
如代码所示,实现起来超级简单,借住了 Hyperlink 对象进行操作。
yesOrNoWorkBook 就是你的 workbook 操作对象,newCell 是你的列对象,
方式二:
newCell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
//第一个参数是指向的地址,第二个参数是显示的字符串
newCell.setCellFormula("HYPERLINK(\"" + "https://zhima.blog.csdn.net/"+ "\",\"" + "Google Canada"+ "\")");
//或者下面的方式 []里面是你的excel文档,第二个是你的页,A1 表示的 第一行A列。
newCell.setCellFormula("HYPERLINK(\"[workbook.xls]'sheet2'!A1\",\"芝麻粒儿\")");
//其中excel文档指定还可以利用 # 表示当前文档
newCell.setCellFormula("\"#Sheet!B2\",\"芝麻粒儿\"");
//上面代码表示本文档的Sheet页,第二行B列是超链接,字体显示为 芝麻粒儿
这段代码中各有优劣,newCell 是你的列对象。 第二行代码可以指定具体的超链接内容,下面两行代码是指定原 Excel 中的指定单元格为超链接。
字体样式
上面超链接是插入了,但是超链接单元格看起来和一般的单元格没有分别, 除非你把鼠标放上去才会变成手行光标。肉眼一看无法看出来是超链接。
为了和一般的习惯相符, 还需要把字符颜色变成蓝色和加上下划线。 这就要用到 style了。
CellStyle linkStyle = yesOrNoWorkBook.createCellStyle();
Font cellFont = yesOrNoWorkBook.createFont();
cellFont.setUnderline((byte) 1);
cellFont.setColor(IndexedColors.BLUE.getIndex());
linkStyle.setFont(cellFont);
newCell.setCellStyle(linkStyle);
上面的代码实现也很简单,yesOrNoWorkBook 是你自己的 workbook 对象,setUnderline 是设置下划线,setColor 是设置字体颜色,借住了 IndexedColors 类。有的文章教程使用的其他的类,我尝试了下 Android 平台不一定支持。
弄完字体样式后利用 setCellStyle 给对应的列设置即可。
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
温馨提示:点击下方卡片获取更多意想不到的资源。

相关文章:
Android修行手册-POI操作Excel实现超链接并且变为蓝色
点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…...
Halcon WPF 开发学习笔记(2):Halcon导出c#脚本
文章目录 前言HalconC#教学简单说明如何二开机器视觉 前言 我目前搜了一下我了解的机器视觉软件,有如下特点 优点缺点兼容性教学视频(B站前三播放量)OpenCV开源,免费,因为有源码所以适合二次开发学习成本极高,卡学历。研究生博士…...
Scrum敏捷开发全流程,3款必备的项目管理工具!
Scrum是一种敏捷方法,致力于帮助团队高效地协作和完成复杂的项目。它强调迭代和快速迭代、自组织、快速响应变化等原则,使得项目开发变得更加灵活和高效。 在Scrum敏捷开发过程中,项目管理工具是必不可少的。下面介绍3款常用的敏捷开发工具…...
基于Quartz实现动态定时任务
生命无罪,健康万岁,我是laity。 我曾七次鄙视自己的灵魂: 第一次,当它本可进取时,却故作谦卑; 第二次,当它在空虚时,用爱欲来填充; 第三次,在困难和容易之…...
hdlbits系列verilog解答(计算向量中1出现次数)-41
文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 “频次计数”电路对输入向量中的“1”数进行计数。为 255 位输入向量构建频次计数电路。 Module Declaration module top_module( input [254:0] in, output [7:0] out ); 二、verilog源码 module top_module…...
2023年最新的前端面试收集(1)
2023年最新的前端面试收集 一、你在项目中做的性能优化的事情有哪些网络优化页面渲染优化JS优化图片优化webpack打包优化vue优化react优化 二、webworker中为什么能提升js执行的性能三、微前端 一、你在项目中做的性能优化的事情有哪些 网络优化 DNS预解析 link标签的rel属性设…...
flutter实现上拉加载下拉刷新
效果如下: flutter实现上拉加载下拉刷新 使用到的库是easy_refresh 安装请查看官网 接口用的是提供的接口https://reqres.in/ 请求接口用到的库是dio 下面主要是介绍如何使用easy_refresh实现上拉加载数据,详细学习其它例子请查看easy_refresh main…...
tomcat+idea--如何在idea上发布项目
对应于idea2022以后的版本 (一)如何配置idea上的tomcat? 1、新建一个项目,左上角File,new,project,新建后就和普通的java项目一样。 2、然后点击项目名,右键选择“Add framework s…...
考研数据结构单链表的增删改查看这一篇就够了
目录 一. 单链表的特点 1.1 解引用拓展 🤖 二. 单链表的操作 2.1不带头节点的操作 2.1.1 打印 2.1.1.1 创建结点 2.1.2 尾插(需要二级指针) 注意形参的值不改变实参:(精髓部分) 2.1.3 头插 2.1.4…...
Windows查看端口占用情况
Windows如何查看端口占用情况 方法1. cmd命令行执行netstat命令,查看端口占用情况 netstat -ano 以上命令输出太多信息,不方便查看,通过如下命令搜索具体端口占用情况,例如:8080端口 netstat -ano | findstr "…...
Python:词法分析(行结构与显式、隐式行拼接)
相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 1、逻辑结构 一个Python程序由许多逻辑行组成,字面意义上的一行指的是末尾有换行符(\n),但在不同的情况下,行末尾的换行符(\n)可能有…...
前端Vue 结合xlxs库实现解析excel文件,并动态组装表头!
目录 1.前言2.数据定义3. 页面布局4.上传之前的事件5.解析excel文件,并组装系统表头与excel表头的对应关系6.下拉框改变事件 1.前言 最近有一个需求,就是用户可以任意导入一个自定义的excel文件,让用户可以自己选择,组装表头的对应关系&…...
RabbitMQ集群配置以及负载均衡配置
RabbitMQ集群配置以及负载均衡配置 环境配置集群配置安装rabbitmq启动rabbitmq开启远程登录添加用户并且授权用户添加数据存放目录和日志存放目录查看端口拷⻉erlang.cookie将mq-2、mq-3作为内存节点加⼊mq-1节点集群中查看集群状态添加一个新的队列 RabbitMq负载均衡配置-HAPr…...
Leetcode Hot100之六:42.接雨水
题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 提示: n height.length 1 < n < 2 * 10^4 0 < height[i] < 10^5 思路 暴力循环: 原本的思路是左边界i从左到…...
electron 主进程 和 渲染进程通信 ipcRenderer 和 mainWindow.webContents
electron 开发时最麻烦就是electron版本和node版本的选择和正确安装 electron 用npm安装时太慢容易报错,建议用cnpm i 进行安装 注意最新版渲染进程使用node nodeIntegration: true, // 渲染进程可用node contextIsolation: false, // 这个值影响nodeIntegration是…...
关于VUE启动内存溢出
安装node v10.14.2 后 启动公司的VUE项目 使用命令npm run dev 命令 报错: <--- Last few GCs --->[20940:00000244699848E0] 215872 ms: Scavenge 1690.2 (1836.4) -> 1679.6 (1836.4) MB, 5.4 / 0.7 ms (average mu 0.266, current mu 0.253) a…...
HBase学习笔记(1)—— 知识点总结
目录 HBase概述 HBase 基本架构 HBase安装部署启动 HBase Shell HBase数据读写流程 HBase 优化 HBase概述 HBase是以 hdfs 为数据存储的,一种分布式、非关系型的、可扩展的 NoSQL 数据库 关系型数据库和非关系型数据库的区别: 关系型数据库和非关…...
【Linux】 awk命令使用
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 awk [选项] [文件] awk [选项] [程序] [文件] awk命令 -Linux手…...
Sentinel网关限流
背景 在微服务架构下,每个服务的性能都不同,为避免出现流量洪峰将服务冲垮,需要依赖限流工具来保护服务的稳定性。sentinel是阿里提供的限流工具,社区活跃,功能也很全面,包含实时监控、流控、熔断等功能。…...
solidworks对电脑要求高吗?2023solidworks配置要求
solidworks对电脑要求高吗?SolidWorks是一款功能强大的三维CAD软件,对电脑配置有一定的要求。一般来说,运行SolidWorks需要的电脑配置包括较高的处理器性能、足够的内存和存储空间,以及一块性能良好的显卡。此外,对于大…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
