前言:之前做了将图片直接插入到excel的需求,由于数据太多会导致导出慢或者直接报错,于是采用了将图片和excel分开放在一个zip压缩包中,并且,excel中对应图片的列点击后可以直接超链接到对应的图片。
实现效果:
依赖版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.0</version>
</dependency>
动态添加超链接处理类:
package com.aicut.monitor.utils;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.handler.CellWriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
import org.apache.poi.common.usermodel.HyperlinkType;
import org.apache.poi.ss.usermodel.*;
import java.util.List;
/**
* excel动态添加超链接处理类
*/
public class ExcelHyperlinkHandler implements CellWriteHandler {
/**
* 添加超链接的字段的下标
*/
private int[] mergeColumnIndex;
/**
* 从第几行开始添加,0代表标题行
*/
private int mergeRowIndex;
public ExcelHyperlinkHandler() {
}
public ExcelHyperlinkHandler(int mergeRowIndex, int[] mergeColumnIndex) {
thi