1. 程式人生 > >Word文件中如何插入潤乾報表

Word文件中如何插入潤乾報表

潤乾報表製作完成後,不僅能實現展現及匯出等功能,還能夠根據使用者需求, 通過指定模版檔案中的書籤名稱確定插入位置,然後將報表、 圖片、 文字內容插入到新的 Word 檔案中。

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

首先介紹下功能原理:

1、 建立 word 模版,在需要插入潤乾報表的位置定義“書籤”;

2、 Api 根據 word 書籤位置,插入計算後的報表物件;

3、 輸出根據模版生成的 word 檔案。

具體實現過程及相關程式碼:

1、 建立 word 模版

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

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 =new

File(“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();

        }

    }

}

3、 對比驗證結果

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

(2)報表實際執行結果

(3)輸出的 word 結果檔案(根據上面程式碼為 out.docx)

     



作者:bubblegum
連結:http://c.raqsoft.com.cn/article/1534476441279
來源:乾學院
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。