easypoi利用模板导出图片到Excel;解决easypoi导出图片到合并单元格单元格被拉伸的问题

news/2024/11/24 11:08:57/

easypoi的封装是非常好的,用起来很简单。

官方教程地址:http://easypoi.mydoc.io/

但是在使用模板导出图片到合并单元格时出问题了,官网找了好几遍没找到方案。

其实官方早就实现了只是没有直接的文档说明。解决办法:

走起:

先上图片:

1、模板

 2、导出效果

 

3、文件存放位置

4、代码实现

坑就在这里,官网里有这个模板导出图片的例子,但是是导出到单个单元格。没说合并单元格的情况下怎么导出。所以我在模板里合并了单元格,再导出的图片,结果图片只填充第一个单元格,并没有填充满整个合并后的单元格。然后就设置宽和高,结果只是撑大了第一个单元格。网上都查遍了也没有解决方案。最后自己仔细看了看ImageEntity这个类,测试后发现,通过ImageEntity再去合并单元格就ok了。在此呈上解决方案。

import cn.afterturn.easypoi.entity.ImageEntity;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import org.apache.poi.ss.usermodel.Workbook;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;public class ExcelTest {public static void main(String[] args) {//第二个参数true是为了开启多sheet扫描,就是同一个xls文件中有多个工作表的时候。// false则只填充一个sheet。我这里只有一个sheet可以为false。也可以为trueTemplateExportParams params = new TemplateExportParams("E:\\easypoi\\temp.xlsx", true);//创建map存放需要替换的内容Map<String,Object> map = new HashMap<>();map.put("name","groot");//添加姓名//下边开始添加图片。有几个注意点。ImageEntity image = new ImageEntity();//#1、大小尽量不要在这里设置、在模板里调整好大小更好。不设置图片大小就会直接填充满模板里的单元格。
//        image.setHeight(200);
//        image.setWidth(500);//#2、这里是设置合并单元格,但是千万不要再模板你提前合并单元格。合并了这里会报错。行合并多少个格子在这里设置。image.setRowspan(3);//向下合并三行image.setColspan(2);//向右合并两列//添加图片image.setUrl("E:\\easypoi\\1.jpg");map.put("desktop",image);//放入map//放入desktop图片ImageEntity image2 = new ImageEntity();
//        image.setHeight(200);
//        image.setWidth(500);image2.setRowspan(3);image2.setUrl("E:\\easypoi\\2.png");map.put("qrcode",image2);//数据载入,生成excel文件Workbook book = ExcelExportUtil.exportExcel(params, map);//创建保存路径、这不可以省略、如果路径存在了可以不用创建。这里是防止路径不存在的File savefile = new File("E:\\easypoi\\");if (!savefile.exists()) {savefile.mkdirs();}try {//设置导出文件名、创建输出流FileOutputStream fos = new FileOutputStream("E:\\easypoi\\excel.xlsx");//导出excel文件book.write(fos);fos.close();} catch (IOException e) {e.printStackTrace();}}
}

5、pom配置依赖(貌似所有的都在这了,这个功能只需要使用easypoi-base即可)

            <!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-base --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.2</version></dependency><!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-annotation --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-annotation</artifactId><version>4.1.2</version></dependency><!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-web --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-web</artifactId><version>4.1.2</version></dependency><!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi</artifactId><version>4.1.2</version><type>pom</type></dependency>

 


http://www.ppmy.cn/news/466144.html

相关文章

关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题

1. 需求&#xff1a;最近拿到的一个任务&#xff0c;是将订单列表导出&#xff0c;按照订单列表导出&#xff08;包括筛选条件&#xff09;。 背景&#xff1a;由于原本的订单列表查询代码太过繁重&#xff0c;里面夹杂的逻辑较多&#xff0c;再有一个是自己想尽快的熟悉公司…

excel粘贴 粘贴值 使用VBA宏匹配目标格式

当您按下键盘上的Ctrl V键时&#xff0c;也可以使用VBA宏始终默认设置黏贴模式为匹配目标格式。只需执行以下步骤&#xff1a; 步骤1&#xff1a;打开您的Excel工作簿&#xff0c;然后单击开发工具选项卡下的“Visual Basic”命令&#xff0c;或者只需按“ALT F11”快捷方式…

POI 操作Excel的单元格样式超过64000的异常问题解决

文章目录 POI 操作Excel的单元格样式超过64000的异常问题解决问题描述问题原因问题分析和解决简单的Excel文件生成Demo 最终的解决方案 POI 操作Excel的单元格样式超过64000的异常问题解决 问题描述 在用POI 生成Excel文件时&#xff0c;如果自定义的单元格的样式超过64000行…

python excel单元格 剪切清除粘贴复制_Excel复制粘贴时弹出“不能清除剪贴板”的解决方法...

2、单击“开始”&#xff0c;“运行”&#xff0c;键入 “clipbrd”命令&#xff0c;启动“剪贴薄查看器”。单击“编辑—删除”命令即可。 不知道是不是正确 我是这么解决的 3、拖动复制单元格时&#xff0c;老提示&#xff1a;无法清空剪贴板&#xff0c;另一程序可能仍在使用…

使用easyexcel做数据校验错误导出excel表格批注+背景(1.0) 继续优化升级

最终效果: 这次对文件进行了进一步的提升,优化, 这次是批量数据校验判断,只判断了是否为空,空就作批注加背景.如下: 这模拟数据.还需要更多的实验才能优化 待优化点: 待升级 动态获取获取head头 待处理 对没一列进行数据校验,因为目前只做了""处理 待优化批注提示语…

excel表格公式无效、不生效的解决方案及常见问题、常用函数

1、表格公式无效、不生效 使用公式时碰到了一个问题&#xff0c;那就是公式明明已经编辑好了&#xff0c;但是在单元格里不生效&#xff0c;直接把公式显示出来了&#xff0c;网上资料说有4种原因&#xff0c;但是我4种都不是&#xff0c;是第5种原因&#xff0c;如下图&#x…

粘贴板工具:PPT或Excel复制粘贴成图片问题的解决方案

粘贴板工具&#xff1a;PPT或Excel复制粘贴成图片问题的终极解决方案 一、小工具介绍 针对PPT或Excel复制粘贴成图片问题&#xff0c;Clipboard是一个将图像粘贴板内容转化为文字粘贴板内容的小工具。下载链接&#xff1a;https://github.com/MarkCens/Clipboard2text/blob/mas…

excel粘贴时出现故障_excel无法复制粘贴怎么办?告诉你解决方法

在日常工作中&#xff0c;我们可能会用excel处理很多数据&#xff0c;在遇到相同数据的时候我们通常会选择复制粘贴。然而在出现无法复制粘贴的情况时很多用户不知道该如何解决&#xff0c;下面小编就带来了详细的图文教程&#xff0c;希望可以帮助大家解决excel无法复制粘贴的…