package com.topcheer.html;

import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.common.usermodel.Hyperlink;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFHyperlink;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Test2 {
public static void main(String[] args) throws IOException {
/* !使用POI版本:3.10-FINAL*/ /* 建立新HSSFWorkbook对象*/
XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet createSheet = workbook.createSheet("汇总页面");
XSSFRow row = createSheet.createRow((short)0); /* 连接跳转*/
XSSFCell likeCell = row.createCell((short)0);
// XSSFHyperlink link = new XSSFHyperlink(XSSFHyperlink.LINK_URL);// 无法实例化XSSFHyperlink对象
CreationHelper createHelper = workbook.getCreationHelper();
XSSFHyperlink hyperlink = (XSSFHyperlink) createHelper.createHyperlink(Hyperlink.LINK_DOCUMENT);
// "#"表示本文档 "明细页面"表示sheet页名称 "A10"表示第几列第几行
hyperlink.setAddress("#明细页面!A10");
likeCell.setHyperlink(hyperlink);
// 点击进行跳转
likeCell.setCellValue("1"); /* 设置为超链接的样式*/
XSSFCellStyle linkStyle = workbook.createCellStyle();
XSSFFont cellFont = workbook.createFont();
cellFont.setUnderline((byte) 1);
cellFont.setColor(HSSFColor.BLUE.index);
linkStyle.setFont(cellFont);
likeCell.setCellStyle(linkStyle); /* 建立第二个sheet对象*/
XSSFSheet sheet2 = workbook.createSheet("明细页面"); //建立新的sheet对象
for (int i = 0; i < 30; i++) {
XSSFRow row2 = sheet2.createRow((short)i);
XSSFCell cell2 = row2.createCell((short)0);
cell2.setCellValue("测试第"+(i+1)+"行");
} /* 输出文件*/
FileOutputStream fileOut = new FileOutputStream("D:\\汇总和明细.xlsx");
workbook.write(fileOut);
fileOut.close();
} }

原文链接:https://blog.csdn.net/qq_29860591/article/details/105063139

可参考:https://blog.csdn.net/sanpangouba/article/details/78855214

POI给单元格添加超链接(xls,xlsx)的更多相关文章

  1. POI 给单元格添加批注

    图中红框框是处理单元格内容和批注的地方. 参考:https://blog.csdn.net/qq_38974638/article/details/114837631 //SXSSFWorkbook ...

  2. POI单元格添加公式以及读取公式结果的值

    POI提供了为单元格添加条件样式的方法,但是我并没有找到获取单元格改变后样式的方法,获取到样式依旧是没有改变之前的. 比如为单元格添加条件样式用于监听单元格值是否被修改,如果单元格值被修改那么字体颜色 ...

  3. poi合并单元格同时导出excel

    poi合并单元格同时导出excel POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet ...

  4. 关于POI 中单元格背景色设置(转)

    关于POI 中单元格背景色设置(转)   csdn 中找到了用Apache POI 实现单元格背景色的小例子 我用了JDK6 + POI 3.17 ,调试中报错 最终将 CellStyle.SOLID ...

  5. 27.openpyxl 向指定单元格添加图片并修改图片大小 以及修改单元格行高列宽

    openpyxl 向指定单元格添加图片并修改图片大小 以及修改单元格行高列宽 from openpyxl import Workbook,load_workbook from openpyxl.dra ...

  6. java中使用apache poi 读取 doc,docx,ppt,pptx,xls,xlsx,txt,csv格式的文件示例代码

    java使用apache poi 读取 doc,docx,ppt,pptx,xls,xlsx,txt,csv格式的文件示例代码 1.maven依赖添加 在 pom 文件中添加如下依赖 <depe ...

  7. 在Excel里用vba给合并的单元格添加注释

    Excel里使用VBA对已经合并的单元格添加注释,直接使用AddComment会报: 运行时错误 '1004':应用程序定义或者对象定义错误 找了很多文章都没找到怎么解决,最后发现在AddCommen ...

  8. java poi 合并单元格后边框问题

    在项目中用poi合并单元格,但发现边框会有不显示的问题. 在网上搜集了答案,来记录一下. 解决方法: 将每个没用到的单元格都设空值. 例如: HSSFCell cell = row.createCel ...

  9. poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)

    POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...

  10. java poi 合并单元格

    java poi 合并单元格 2017年03月29日 16:39:01 翠烟你懊恼 阅读数:26561   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...

随机推荐

  1. 国内加速访问github

    总结 有用,有效 参考链接: https://www.cnblogs.com/sitoi/p/11819649.html

  2. PLSQL中文乱码问题(显示问号)解决办法

    select userenv('language') from dual; 在环境变量的系统变量中添加配置: NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这个 ...

  3. MVC对session或cookie保存的值在js中做处理

    在cshtml中保存数据 eg: @Html.Hidden("sessionUserName", Session["userName"]) @Html.Hidd ...

  4. Java方法之方法的定义和调用

    方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 方法包含一个方法头和一个方法体.下面是一个方法的所有部分: 1.修饰符:修饰符 ...

  5. Echart 使用

    查看前端面试题小程序 大量面试题和答案,请微信查看 // var list = [1,1,54,5,5,85,8,8,5,5,8,8,85,8,8,5,5,85,88,85,8,88,8,8,8,8, ...

  6. Python_QT_量化投资/量化交易 基础入门课

    量化投资/量化交易 基础入门课 https://www.bilibili.com/video/BV1n4411q7ic?from=search&seid=1127232108574476398 ...

  7. vue验证码倒计时60s

    vue3验证码倒计时60s //倒计时60s const timeNum = ref(60); const countDown = ref(); const isShowSend = ref(true ...

  8. Luogu P3374 【模板】树状数组 1 [单点修改-区间查询]

    P3374 [模板]树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示 ...

  9. luogu 4142

    费用流好题 本题的建图很有意思 正常我们看到棋盘问题应该先对整个棋盘黑白染色构成一个二分图,然后再考虑建图的问题 但是本题题目中已经明确区分了不同的斜线,问题在于怎么保证一个"L" ...

  10. SQL-while begin end

    declare @i int set @i=1 while @i<=10000000begin insert into dbo.Persons (Age,Sex,Grade,Name) valu ...