把報表插入 Word 文檔(api)

潤乾報表製做完成後,不只能實現展示及導出等功能,還可以根據用戶需求, 經過指定模版文件中的書籤名稱肯定插入位置,而後將報表、 圖片、 文本內容插入到新的 Word 文件中。java

本文主要介紹潤乾報表插入 word 文檔的具體步驟。api

首先介紹下功能原理:xml

一、 創建 word 模版,在須要插入潤乾報表的位置定義「書籤」;對象

二、 Api 根據 word 書籤位置,插入計算後的報表對象;blog

三、 輸出根據模版生成的 word 文件。圖片

具體實現過程及相關代碼:文檔

一、 創建 word 模版get

二、 Api 計算報表,並經過 DocxChanger 類將報表結果插入指定書籤,輸出 word 結果io

importjava.io.File;模板

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importcom.raqsoft.dm.Sequence;

importcom.raqsoft.report.model.ReportDefine;

importcom.raqsoft.report.usermodel.Context;

importcom.raqsoft.report.usermodel.Engine;

importcom.raqsoft.report.usermodel.IReport;

importcom.raqsoft.report.util.ReportUtils;

importcom.raqsoft.report.view.oxml.word.DocxChanger;

public****classInsertWord {

   publicstaticvoidmain(String[] args) {

        try{

            // 設置報表受權文件

            File flic =newFile(「D:/test.lic」);

            FileInputStream lis =newFileInputStream(flic);

            Sequence.readLicense( Sequence.P_RPT, lis);

            File f =newFile(「D:/test.docx」); // 模板文件,注意僅僅是模版,不會被修改      

            File of =newFile(「D:/out.docx」); // 輸出文件:最終根據模版生成的結果 word 文件。

            if(of.exists()) {

                of.delete();

            }

            FileOutputStream fos =newFileOutputStream(of);

            DocxChanger dc =newDocxChanger(f, fos); // 實例化 DocxChanger

            File f3 =newFile(「D:/a.rpx」);            

            FileInputStream fis =newFileInputStream(f3);

            IReport report = ReportUtils.read(fis);

            fis.close();

             // 構建報表運行上下文環境及引擎,並計算報表

            Context context =newContext();

            Engine engine =newEngine((ReportDefine) report, context);

            report = engine.calc();

             // 將報表結果指定插入 report1 書籤處,注意名字和 word 模版內書籤名一致

            dc.insertReport(「report1」, report);  

            // 執行全部修改動做,而後關閉輸出文件流

            dc.execute();

            fos.close();

        }catch(Throwable x) {

            x.printStackTrace();

        }

    }

}

三、 對比驗證結果

(1)Word 模版(執行完 api 後,沒有改變):

(2)報表實際運行結果

(3)輸出的 word 結果文件(根據上面代碼爲 out.docx)

     

更多特殊報表相關問題請查看:報表樣式彙總相關問題分類導航

相關文章
相關標籤/搜索