JXLS生成excel填充图片设置大小
作者:互联网
官网文档:
Image-Command
jx:image(lastCell="A4" src="headMap.image" imageType="JPEG" scaleX="1.0" scaleY="1.0")
解释:
1、imageType图片类型默认是PNG,支持:PNG, JPEG, EMF, WMF, PICT, DIB。
2、src是model中传入的字节数组byte[]。
3、lastCell是图片结束位置,(不设置scaleX,scaleY)会自动拉伸图片填充满定义的格子。比如你在A1中加入了这个注解,lastCell写C5,就会把A1到C5都拉伸填充上图片。
4、scaleX,scaleY(1.0,1.0)保持原图片大小,(0.5,0.5)图片缩小50%,源码中注释如下:
原来我的系统依赖2.4.6版本,该版本无法设置图片的大小,图片只会填满整个单元格。
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.4.6</version>
</dependency>
修改依赖版本升级为2.11.0,jxls-poi也升级为2.11.0,否则会报错,类找不到
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls-poi</artifactId>
<version>2.11.0</version>
</dependency>
同时需要升级poi的版本(具体哪个版本不报错,我不太清楚,我直接升级到poi最新的版本了),否则会报错
java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.copy(Ljava/io/InputStream;Ljava/io/OutputStream;)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>5.1.0</version>
</dependency>
升级完POI版本,有些在用的API会报错,api修改见poi升级到4.0版本修改方法
报错java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream,commons-io也需要升级
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
标签:填充,excel,jxls,JXLS,报错,io,poi,org,2.11 来源: https://blog.csdn.net/qq_23888451/article/details/122458793