润乾报表授权文件_把报表插入 Word 文档(api)

润乾报表制作完成后,不仅能实现展现及导出等功能,还能够根据用户需求, 通过指定模版文件中的书签名称确定插入位置,然后将报表、 图片、 文本内容插入到新的 Word 文件中。

本文主要介绍润乾报表插入 word 文档的具体步骤。

首先介绍下功能原理:

1、 建立 word 模版,在需要插入润乾报表的位置定义“书签”;

2、 Api 根据 word 书签位置,插入计算后的报表对象;

3、 输出根据模版生成的 word 文件。

具体实现过程及相关代码:

1、 建立 word 模版

93c79134726186e25a4cfe1585ed55e8.png

e5d36a5859122985b58d8be29ef22ddb.png

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 =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();

}

}

}

3、 对比验证结果

(1)Word 模版(执行完 api 后,没有改变):

c0dd5f6b380c6b0d340f52fef79fe86d.png

(2)报表实际运行结果

6ae0011b19565f9225fa04a55ac342b9.png

(3)输出的 word 结果文件(根据上面代码为 out.docx)

0419e80d388616d9b1dd94d7912b6bf7.png

更多特殊报表相关问题请查看:报表样式汇总相关问题分类导航
* 报告式报表的制作
* 单据类报表的制作
* 如何开发主从报表
* 尺码类报表的制作
* 按段分组报表制作
* 日历类报表可以这样实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值