Java教程:POI写入Excel表格超链接实现手型蓝色下划线并可点击

上次我们说到,在Excel表格当中写入图片,但当发生大量图片的时候,这个速度真的是非常非常菜,以至于大家都说你这个系统没反应,很是头疼,所以就想出了一个比较不错的解决办法,—写入超链接,需要查看点击调取浏览器即可,速度与写入普通表格一样的快速


下面咧教程,非常简单

第一步
pom包就不做说明了,上节章有
立即到达

第二步,示例代码,此处将字体设置为蓝色带下划线

/**
 * @author [email protected]
 * @version 2020-5-9 18:30:00
 */
String wholePhotoUrl="https://www.baidu.com/img/pc_cc75653cd975aea6d4ba1f59b3697455.png";
Cell cell = row.createCell(i);
cell.setCellType(HSSFCell.CELL_TYPE_FORMULA);
cell.setCellStyle(getImagestyleCellType(wb));
cell.setCellFormula("HYPERLINK(\"" +wholePhotoUrl+ "\""+","+"\"点击查看图片\")");

第三步,getImagestyleCellType表格样式方法说明

/**
 * @author [email protected]
 * @version 2020-5-9 18:30:00
 */
 public static CellStyle getImagestyleCellType(XSSFWorkbook wb){
     CellStyle datastyle = wb.createCellStyle();
     datastyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
     datastyle.setBorderRight(CellStyle.BORDER_THIN);
     datastyle.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
     datastyle.setBorderLeft(CellStyle.BORDER_THIN);
     datastyle.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
     datastyle.setBorderTop(CellStyle.BORDER_THIN);
     datastyle.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
     datastyle.setBorderBottom(CellStyle.BORDER_THIN);
     datastyle.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex());
     //自动换行
     datastyle.setWrapText(true);
     Font dataFont = wb.createFont();
     dataFont.setFontName("Arial");
     dataFont.setFontHeightInPoints((short) 10);
     dataFont.setColor(HSSFColor.BLUE_GREY.index);
     dataFont.setUnderline(Font.U_SINGLE);
     datastyle.setFont(dataFont);
     return datastyle;
 }

第四步,完美导出表格,秒速————

Java教程:POI写入Excel表格超链接实现手型蓝色下划线并可点击_第1张图片


你可能感兴趣的:(java)