上次我们说到,在Excel表格当中写入图片,但当发生大量图片的时候,这个速度真的是非常非常菜,以至于大家都说你这个系统没反应,很是头疼,所以就想出了一个比较不错的解决办法,—写入超链接,需要查看点击调取浏览器即可,速度与写入普通表格一样的快速
下面咧教程,非常简单
第一步
pom包就不做说明了,上节章有
立即到达
第二步,示例代码,此处将字体设置为蓝色带下划线
/**
* @author wfeil211@foxmail.com
* @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 wfeil211@foxmail.com
* @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;
}
第四步,完美导出表格,秒速————