其他分享
首页 > 其他分享> > JXLS生成excel填充图片设置大小

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