easyExcel 导出图片注解

/**
 * 导出url转图片
 */
public class UrlImageConvert implements Converter<String> {

    @Override
    public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty,
                                               GlobalConfiguration globalConfiguration) {

        if (ObjectUtils.isEmpty(value)) {
            return new WriteCellData<>("");
        }
        List<String> url = Arrays.asList(value.split(";"));
        if (ObjectUtils.isEmpty(url)) {
            return new WriteCellData<>("");
        }
        byte[] file = ImageUtil.readFile(url.get(0));
        if (ObjectUtils.isEmpty(file)) {
            return new WriteCellData<>("");
        }
        return new WriteCellData<>(file);
    }
}


    /**
     * 读取文件为字节数据
     *
     * @param url 地址
     * @return 字节数据
     */
    public static byte[] readFile(String url) {
        InputStream in = null;
        try {
            // 网络地址
            URL urlObj = new URL(url);
            if("https".equalsIgnoreCase(url.substring(0, 5))){
                SslUtils.ignoreSsl();
            }
            URLConnection urlConnection = urlObj.openConnection();
            urlConnection.setConnectTimeout(30 * 1000);
            urlConnection.setReadTimeout(60 * 1000);
            urlConnection.setDoInput(true);
            in = urlConnection.getInputStream();
            return IOUtils.toByteArray(in);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            IOUtils.closeQuietly(in);
        }
    }

 

posted @ 2025-04-22 14:45  八英里  阅读(37)  评论(0)    收藏  举报