【PUSDN】java中easyexcel导入导出带有图片的Excel(main方法方式) |
您所在的位置:网站首页 › 课程开发表格怎么做图片 › 【PUSDN】java中easyexcel导入导出带有图片的Excel(main方法方式) |
简述
java中easyexcel导入导出带有图片的Excel(main方法方式),web方式详见另一篇 由于电脑音频问题,视频暂时没有解说声音, 回头重新补上 前情提示如果有任何疑问、需求、技术支持,欢迎点赞,留言 easyexcel虽然使用很方便,但是很多地方也无法高度定制化。明确表示暂时不支持解析带图片的Excel 有账号的朋友,可以点个赞或者评论两句哦,评论后会获得积分奖励~ 视频代码https://www.ixigua.com/7306755691145298471 office工具使用注意不支持WPS的内嵌 内嵌图片是WPS自定义的函数,POI读取不到,实际中不要用内嵌图片即可或者直接用微软office Java中Excel操作宏实现下拉菜单多选:https://www.ixigua.com/7304510132812153385 代码示例 package com.pgz.test.eetpic; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.UUID; import cn.hutool.core.util.StrUtil; import cn.hutool.poi.excel.ExcelPicUtil; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.PictureData; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * easy excel图片读取示例,main方法方式,web方式详见另外一个 */ @Slf4j public class EETest { public static void main(String[] args) throws Exception { String fileName = "/Users/janeyork/Downloads/487_1.xlsx"; InputStream fis = new FileInputStream(fileName); AnalysisEventListener listener = new UserInfoDataListener(); ExcelReader excelReader = EasyExcel.read(fis, ExcelData.class, listener).build(); ReadSheet readSheet = EasyExcel.readSheet(0).build(); ReadSheet readSheet2 = EasyExcel.readSheet(1).build(); excelReader.read(readSheet); // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的 excelReader.finish(); List list = new ArrayList(); InputStream fis2 = new FileInputStream(fileName); cn.hutool.poi.excel.ExcelReader reader = ExcelUtil.getReader(fis2); //key是图片位置,row_cell的格式;value是图片数据 Map picMap = ExcelPicUtil.getPicMap(reader.getWorkbook(), 0); log.info("图片:" + picMap.size()); //这里只关心行数,把数据装到Bean里面去,也可用map在循环中取获取 picMap.forEach((k, v) -> { log.info("----------------------"); String[] split = k.split(StrUtil.UNDERLINE); Integer index = Integer.valueOf(split[0]); log.info("图片:" + k); log.info("图片:" + v); String mimeType = v.getMimeType(); String[] mimeTypes = mimeType.split(StrUtil.SLASH); log.info("mimeType:" + mimeType); String fileName2 = "/Users/janeyork/Downloads/eetpictmp/"+UUID.randomUUID() + "." + mimeTypes[1]; // 模拟上传 FileUtil.writeBytes(v.getData(), fileName2); // 然后将上传成功图片路径,赋值给实体类,然后调用service插入数据库即可 }); } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |