关于spire.xsl的使用方式,通过配合EasyExcel实现导出Excle并且转换PDF格式,以及水印去除

前言

提示:万变不离其宗,代码仅供参考


一、功能需求

最近遇到一个需求: 要求将已获取到的数据通过Excel模板填充,导出为PDF格式文件。 通过搜集大量资料,也尝试了很多实例,都未能成功,现结合自己项目实际情况,贴出已实现功能代码,供大家参考。

二、使用步骤

1.引入依赖

代码如下(示例):

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
</repositories>

<dependency>
        <groupId>e-iceblue</groupId>
            <artifactId>spire.xls.free</artifactId>
        <version>2.2.0</version>
</dependency>

 <!-- easyexcel 依赖 -->
<dependency>
        <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
        <version>2.2.7</version>
</dependency>
复制代码

特别注意: 1.需要配置远程仓库。 2.引入依赖的时候只能引入一个,而且最好是引入.free版本,否则会有水印。 3.不要引入.pdf,否则会导致jar包相互冲突,报框架层面的问题。

2.实现方法

代码如下(示例):

FileUtil工具类封装了一些基本方法。

public class FileUtil {
   
    //eccel转PDF方法
    public static void ExcelToPdf(String fileName, String outfileName) throws Exception {

        Workbook wb = new Workbook();

        wb.loadFromFile(fileName);

        wb.saveToFile(outfileName, FileFormat.PDF);
    }
复制代码

3.具体实现

代码如下(示例):

 public void simpleFill() throws Exception {
        String templateFileName = "模板路径";
        String fileName = "生成Excel文件路径";
       
       //easyex提供的方法
        ExcelWriter excelWriter = EasyExcel.write(fileName)
                                           .withTemplate(templateFileName)
                                           .build();

        WriteSheet writeSheet = EasyExcel.writerSheet()
                                         .build();

        FillConfig fillConfig = FillConfig.builder()
                                          .direction(WriteDirectionEnum.HORIZONTAL)
                                          .build();

        excelWriter.fill(data(), writeSheet);

        excelWriter.finish();

        String fileIn = "D:\\.....xlsx";
        String fileOut = "D:\\.....pdf";

        //传入的文件路径必须以双反斜杠的方式传入
        FileUtil.ExcelToPdf(fileIn, fileOut);
    }
复制代码

参考资料

1、e-iceblue 官网 www.e-iceblue.cn/tutorials.h…

2、easyexcel 官网 alibaba-easyexcel.github.io

猜你喜欢

转载自juejin.im/post/7068480872432795679