poi 3.17导出时建立超链接

网上找了很多只有这哥们是靠谱的完美的:
https://blog.csdn.net/lan_shu/article/details/103668081

公司有一个导出需求,其中一列为附件地址,要求点击能直接访问或下载,这个需要设置成超链接格式,下面是我参照网上的哥们做的

 SXSSFWorkbook wb = new SXSSFWorkbook(new XSSFWorkbook(),-1);//采用这种方式占用内存少,速度快
 CreationHelper creationHelper = wb.getCreationHelper();
 //指定超链接的类型为url
 Hyperlink hyperlink = creationHelper.createHyperlink(HyperlinkType.URL);
 //指定超链接的 目标地址   s  例如 :http://www.baidu.com
 hyperlink.setAddress(s);
 cell.setHyperlink(hyperlink);
 //设置单元格字体样式  不设置默认为黑色 无下划线 
 cell.setCellStyle(linkStyle(wb));
 //为超链接设置要显示的值  不设置 导出的单元格为空
 cell.setCellValue(s);

设置超链接样式

   /**
     * 设置超链接等样式
     *
     * @param workbook
     * @return
     */
    public static CellStyle linkStyle(Workbook workbook) {
        // 生成并设置另一个样式
        CellStyle linkStyle = workbook.createCellStyle();
        //设置单元格边框
        //        linkStyle.setBorderBottom((short) 1);
        //        linkStyle.setBorderLeft((short) 1);
        //        linkStyle.setBorderRight((short) 1);
        //        linkStyle.setBorderTop((short) 1);
        //设置单元格背景颜色
        //        linkStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
        //        linkStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
        Font font = workbook.createFont();
        //设置字体下划线
        font.setUnderline((byte) 1);
        //设置字体颜色
        font.setColor(HSSFColor.BLUE.index);
        //设置字体
        linkStyle.setFont(font);
        // 生成另一个字体
        //        font.setBoldweight(Font.BOLDWEIGHT_NORMAL);
        // 把字体应用到当前的样式
        linkStyle.setFont(font);
        linkStyle.setAlignment(HorizontalAlignment.CENTER);
        return linkStyle;
    }

导出效果
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值