m0_72706877 2023-03-17 17:50 采纳率: 33.3%
浏览 134
已结题

easyexcel 实现图片导入

就一任意
张ex表。图片是另有个文件夹,然后图片编号之类的弄好了,无非实现一下,就是根据图片编号插入到ex表对应的字段,比如图片的编号是1-1,就插到ex表的1-1

开发环境 ider

  • 写回答

4条回答 默认 最新

  • 追cium 2023-03-17 17:53
    关注

    参考GPT和自己的思路:

    您好!针对您的问题,可以使用easyexcel提供的setImageValue方法实现图片导入。具体实现步骤如下:

    1. 首先,需要在pom.xml(或者build.gradle)文件中添加 easyexcel 的依赖。

    2. 然后,读取ex表格中的编号,根据编号读取对应的图片,得到图片的信息。

    3. 在写入ex表格时,先在对应的单元格中插入图片的编号,然后获取该单元格的位置信息。

    4. 最后,使用setImageValue方法将图片插入到对应的位置即可。

    以下是伪代码示例,供参考:

    // 读取图片信息,得到图片 data 和图片格式 format
    String imageId = "1-1"; // 图片编号
    byte[] data = readImageFromFolder(imageId); // 从图片文件夹中读取图片
    String format = "jpg"; // 图片格式
    
    // 写入ex表格
    ExcelWriter writer = EasyExcel.write(outputStream).build();
    WriteSheet sheet = EasyExcel.writerSheet().build();
    
    // 获取插入图片的单元格坐标 (rowIndex, colIndex)
    int rowIndex = 0; // 假设插入到第一行
    int colIndex = 0; // 假设插入到第一列
    String cellAddress = ExcelCellUtil.getCellAddress(rowIndex, colIndex);
    Cell cell = ExcelCellUtil.getCell(cellAddress, sheet);
    
    // 在单元格中插入图片编号
    cell.setCellValue(imageId);
    
    // 设置图片样式
    WriteCellStyle style = new WriteCellStyle();
    style.setWrapped(false); // 图片不自动换行
    style.setHorizontalAlignment(HorizontalAlignment.CENTER); // 图片水平居中对齐
    style.setVerticalAlignment(VerticalAlignment.CENTER); // 图片垂直居中对齐
    style.setFillForegroundColor(IndexedColors.WHITE.getIndex()); // 单元格背景色为白色
    style.setBorderTop(BorderStyle.THIN); // 上边框
    style.setBorderRight(BorderStyle.THIN); // 右边框
    style.setBorderBottom(BorderStyle.THIN); // 下边框
    style.setBorderLeft(BorderStyle.THIN); // 左边框
    
    // 设置图片
    Image image = new Image(data, format);
    image.setRow1(rowIndex); // 图片开始行
    image.setRow2(rowIndex + 2); // 图片结束行
    image.setCol1(colIndex); // 图片开始列
    image.setCol2(colIndex + 2); // 图片结束列
    writer.setSheet(sheet).setUseDefaultStyle(false).setWriteCellStyle(style).setImageValue(image);
    
    writer.finish(); // 写入完成
    

    希望以上答复对您有帮助,如有更多问题,欢迎随时向我咨询。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月17日

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统