poi导出excel中含有超链接并且头部样式问题

poi导出excel中含有超链接并且头部样式问题

多余的代码网上都有就不多贴了 我这边的sheet来自于writer 各位看官可自行改成自己的

path是地址,name是那一列存的附件名称,i是行数 j是列数

   private void createSuperLink(ExcelWriter writer,String path,String name,int i,int j){     
        Workbook workbook = writer.getWorkbook();
        Sheet sheet = writer.getSheet();
        // 获取行
        Row row = sheet.getRow(i+1);
        if(row==null){
            row = sheet.createRow(i+1);
        }
        // 获取列
        Cell cell = row.getCell(j+6);
        if(cell==null){
            cell = row.createCell(j+6);
        }
        CreationHelper createHelper = workbook.getCreationHelper();
        CellStyle linkStyle = workbook.createCellStyle();
        Font cellFont = workbook.createFont();
        cellFont.setColor(IndexedColors.BLUE.index);
        linkStyle.setFont(cellFont);

        //底部边框
        linkStyle.setBorderTop(BorderStyle.THIN);
        linkStyle.setTopBorderColor(IndexedColors.BLACK.index);

        //底部边框
        linkStyle.setBorderBottom(BorderStyle.THIN);
        linkStyle.setBottomBorderColor(IndexedColors.BLACK.index);

        //左边框颜色
        linkStyle.setBorderRight(BorderStyle.THIN);
        linkStyle.setRightBorderColor(IndexedColors.BLACK.index);

        cell.setCellStyle(linkStyle);
        // 地址存在时才是超链接
        if(path!=null){
            Hyperlink link = createHelper.createHyperlink(HyperlinkType.URL);
            link.setAddress(path);
            cell.setHyperlink(link);
        }
        cell.setCellValue(name);
}

实现效果

poi导出excel中含有超链接并且头部样式问题

还有由于我的附件头部是后期合并  因为要计算附件的最大数目进行合并,导致了右边框没有边线

代码如下max为附件最大个数 其中本来我只用了获取列  结果发现设置边线失败  后面用获取尾列才ok的

    
    private void createAppendHead(ExcelWriter writer,int max){
        Sheet sheet = writer.getSheet();
        // 合并
        sheet.addMergedRegion(new CellRangeAddress(0,0,6,max+5));
        // 获取行
        Cell headCell = sheet.getRow(0).getCell(0);
        // 获取列
        Cell targetCell = sheet.getRow(0).createCell(6);
        // 获取合并列尾
        Cell targetEndCell = sheet.getRow(0).createCell(5+max);
        // 设置样式
        targetCell.setCellStyle(headCell.getCellStyle());
        targetEndCell.setCellStyle(headCell.getCellStyle());
        // 设置内容
        targetCell.setCellValue("附件");

    }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2205.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cBridge 2.0: 基于Celer状态守卫者网络的通用跨链平台

    cBridge 2.0: 基于Celer状态守卫者网络的通用跨链平台自cBridge1.0版本上线以来,我们的跨链资金总量持续每周成倍增长,在上线第一个月,我们只处理了$10M的跨链转账金额,而在接下来的一个月中,cBridge跨链资金总量上涨到了$170M,每日跨链资金也稳定突破$10M关口。cBridge节点的流动性提供者,在没有任何额外激励的情况下,仅仅从跨链手续费上,就能获得45%的年化收益。这确实令人激动,但,这只是一个开始。今天我们高兴地宣布cBridge2.0的升级计划,并对这个充满创新的升级做一个简要的介绍。cBridge…

    2022年6月4日
    22
  • 如何配置pytorch_pytorch如何下载

    如何配置pytorch_pytorch如何下载1.好像不支持python3.8。直接从setting里面安装时不行的,按其它教程(https://blog.csdn.net/lyz21/article/details/104295042)从官网https://pytorch.org/get-started/locally/,拷贝链接用pip下载,一直报找不到版本。后来发现,python3.8的原因,改成python3.7可以了,但会一直连接超时。2.发现要下载的其实是这两个文件:点开下面的两个链接,用下载软件下载了,我下到了e盘,直接pip

    2022年10月31日
    0
  • Java函数式编程之Java8四大函数接口

    【前序】:在Java8中,内置了四个核心函数接口,它们存在是Lamda表达式出现的前提,Lamda表达式想重写函数式接口中的唯一方法。函数式接口与Lambda表达式之间的关系:lambda表达式相当于是一个行为,传入函数式接口中,进来实现各种操作。它们的接口内只有一个抽象方法,每一个函数式接口都有@FunctionalInterface注解。文章目录1.消费型接口2.供给型接口3.函数型接…

    2022年4月16日
    44
  • STM32—PID控制在直流电机中的应用「建议收藏」

    STM32—PID控制在直流电机中的应用「建议收藏」文章目录一.PID控制算法1.什么是PID2.PID系数的理解Ⅰ.比例(P)部分Ⅱ.积分(I)部分Ⅲ.微分(D)部分3.PID的数字化处理二.位置闭环控制三.速度闭环控制一.PID控制算法1.什么是PIDPID:Proportion-Integral-Differential在过程控制中,我们经常使用的一种算法就是PID算法了,所谓PID控制算法就是对偏差进行比例、积分、微分控制,来使偏差…

    2022年6月5日
    124
  • sql中三种去重的方式_三种重采样方法的特点

    sql中三种去重的方式_三种重采样方法的特点点击关注上方“逆锋起笔”,设为“置顶或星标”,第一时间送达干货blog.csdn.net/xienan_ds_zj/article/details/103869048作者:程序员的成长之路…

    2022年9月18日
    0
  • WCF分布式事务(EF)

    WCF分布式事务(EF)

    2022年1月6日
    248

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号