准备工作导入poi的jar包
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.10.0</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
导入私有工具包
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>18.8</version>
<classifier>jdk16</classifier>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>18.8</version>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>18.8</version>
</dependency>
这里加个定位
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>AsposeJavaAPI</id>
<url>https://repository.aspose.com/repo/</url>
</pluginRepository>
</pluginRepositories>
导出word 编写工具类
定义注解
@WordImg 表示输出图片
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface WordImg {
public int width() default 370;
public int height() default 400;
}
@WordList 表示输出list集合对象
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface WordList {
}
1创建word工具类
@Component
public class PoiTlWordUtil {
}
①编写实体类转word的方法 和word转pdf的方法
@Component
public class PoiTlWordUtil {
/**
* 模板路径
*/
@Value("${word.templateUrl}")
private String templateUrl; // word 模板地址
@Value("${word.pathUrl}")
private String pathUrl; // word 输出地址
@Value("${lbl.profile}")
private String outUrl; // pdf 输入地址
@Value("${ksurl}")
private String ksurl; // ip地址
private HashMap<String,Object> mapWordList; //
/**
* 生成word
* @param fileName 文件名
* @param object 导出对象
* @param templateUrls 模板地址
* @param pathName 导出地址
* @return
* @throws IOException
*/
@SneakyThrows
public HashMap<String, Object> beanToWordCurrent(String fileName, Object object,String templateUrls,Strin