java基於poi-tl實現生成文檔的功能(一)


參考官方文檔:http://deepoove.com/poi-tl/

公司項目需要導出報表,在網上查找資料后選擇使用poi-tl工具,記錄一些使用心得。

一、使用maven導入jar包

<dependency>

<groupId>com.deepoove</groupId>

<artifactId>poi-tl</artifactId>

<version>1.11.1</version>

</dependency>

二、開始使用

導出報告一般都需要一個模板文件,按照指定的模板去生成一個報告。所以先由業務需求提出一個樣式,然后再進行下面的工作。

在使用前我們需要先加載我們的模板文件實例化生成XWPFTemplate對象,參數值是你模板路徑+模板文件名。我這里使用的是相對路徑。

XWPFTemplate template = XWPFTemplate.compile("report_test.docx");

接下來創建一個Map集合來存放我們需要生成文檔的值。
Map<String,Object> dataMap = new HashMap<String, Object>();

 

2.1 文本

 

 

 按照官方文檔記載,文本一般都是使用{{參數名}}的形式標記,接下來我們就要覆蓋我們的參數名完成記錄

利用上面創建的Map集合來存放數據。Map的key就是我們模板文件中對應的參數名,values就是我們需要替換的值。

dataMap.put("company","天津市測試有限公司");
dataMap.put("report_num","20220217001");

2.2 圖片

圖片一般使用{{@參數名}}表示,和文本比較多加個了@符號

官方文檔中記錄了許多方式,這里我就用了其中一種,有興趣的小伙伴可以都試試

BufferedImage bufferedImage1 = ImageIO.read(new FileInputStream("1.jpg"));
dataMap.put("baidu_track",Pictures.ofBufferedImage(bufferedImage, PictureType.JPEG).size(100,100).create());

其中PictureType是枚舉值,具體取值要根據你要插入的圖片類型。我這里是jpg格式,因此使用的是PictureType.JPEG。
size設置插入圖片的像素大小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM