package com.widemex.reportViewWord;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.runqian.report4.model.ReportDefine;
import com.runqian.report4.model.engine.ExtCellSet;
import com.runqian.report4.usermodel.Context;
import com.runqian.report4.usermodel.DataSourceConfig;
import com.runqian.report4.usermodel.Engine;
import com.runqian.report4.usermodel.IReport;
import com.runqian.report4.usermodel.PageBuilder;
import com.runqian.report4.util.ReportUtils;
import com.runqian.report4.view.word.WordReport;
public class ReportViewWord {
/**
* @param args
*/
public static void main(String[] args) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("userId", "");
params.put("orgId", "");
Calendar c = Calendar.getInstance();
params.put("beginTime", "2011-1-1" );
c.set(Calendar.DAY_OF_MONTH, 30);
//params.put("endTime", c.getTime());
params.put("endTime", "2011-12-31" );
try {
ReportViewWord.reportViewWord("E:\\work\\report\\orderFood.raq", "D:/temp/orderFood.doc", params);
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void reportViewWord(String tmp_reportname,String temp_FileName,Map<String, Object> params) throws Throwable{
String text = "";
// String[] temp_array =temp_Url.split("&");
// String tmp_reportname = "D:/reportfiles/"+temp_array[0]+".raq"; //本地
// String tmp_reportname = "D:/AppVirFiles/reportFiles/"+temp_array[0]+".raq";//114
// String tmp_reportname = "D:/eps/AppVirFiles/reportfiles/"+temp_array[0]+".raq";//生产
Connection con = null;
try{
if( tmp_reportname != null ) {
//if( !temp_FileName.startsWith( "/" ) ) temp_FileName = "/" + temp_FileName;
ReportDefine rd = (ReportDefine)ReportUtils.read(tmp_reportname);
ExtCellSet.setLicenseFileName("E:\\work\\report\\license.lic");
//Env env = new Env( rd );
//JDBC连接
//Class.forName( "com.newatlanta.jturbo.driver.Driver" );
//con = DriverManager.getConnection( "jdbc:JTurbo://32.0.179.202/easyreport", "", "" );
//web.xml中的jndi配置
//con = DataServlet.getDBObject(null).getConnection();
Context ctx=new Context();
for(Map.Entry e :params.entrySet()){
ctx.setParamValue(e.getKey().toString(),e.getValue());
}
Class.forName( "com.ibm.db2.jcc.DB2Driver" );
con = DriverManager.getConnection( "jdbc:db2://192.168.1.16:50000/WIDES1", "S1", "w123456");
ctx.setDefDataSourceName("WIDES1_EXT");
ctx.setConnection("WIDES1_EXT",con);
DataSourceConfig dsoc = new DataSourceConfig(2, true, "UTF-8", "UTF-8", false);
ctx.setDataSourceConfig("WIDES1_EXT", dsoc);
Engine engine = new Engine(rd, ctx);
//DataSource ds=(DataSource)ctx.lookup("YTDS");
//con=ds.getConnection();
//env.setConnection( con, "iso-8859-1", DBTypes.INFMIX );
IReport report = engine.calc();
WordReport doc = new WordReport();
doc.export(new PageBuilder(report));
/*//设置报表参数
String[] temp_arrayAbs =null;
String temp_str="";
for(int i=1;i<temp_array.length;i++){
temp_arrayAbs=temp_array[i].split("=");
// temp_str =temp_arrayAbs[1];
if(temp_arrayAbs.length==2){
if(temp_arrayAbs[1].trim().length()!=0){
// temp_arrayAbs[1] = toISO(temp_arrayAbs[1]);
// System.err.println("temp_arrayAbs[1]:"+temp_arrayAbs[1]);
env.putParam(temp_arrayAbs[0],temp_arrayAbs[1]);
}
}
}*/
//构造一个报表引擎实例
//Engine e = new Engine( env );
//利用报表引擎计算得到报表实例
//Report report = e.calc();
//直接以文本方式显示报表
//text = report.toText();
File file = new File(temp_FileName);
java.io.OutputStream outStream=new java.io.FileOutputStream(file);
//report.exportToText(outStream);
doc.saveTo(outStream);
outStream.close();
//report.exportToHTML(temp_FileName);
//temp_FileName = rename(temp_FileName);
}
}
catch( Exception e ) {
e.printStackTrace();
System.err.println("导出文本错误:"+e);
}
/*finally{
if( con != null ) con.close();
}*/
//return temp_FileName;
}
}
分享到:
相关推荐
### 快逸报表4.0 Free版:Java报表软件的核心功能与使用方法 #### 一、概述 快逸报表4.0 Free版是一款由北京润乾信息系统技术有限公司研发的免费报表软件,支持Java环境下的Excel功能及即时数据库连接,特别适用于...
前者是官方提供的详细安装和使用指南,通常会包含安装步骤、配置说明、功能介绍以及常见问题解答等内容,是学习和使用快逸报表插件的重要参考资料。后者则是插件的安装程序,用于将插件添加到Eclipse环境中。 使用...
POI报表Word导出
例如,教育学院可能会使用水晶报表来汇总和分析教学数据,然后导出成Word文档以便教师或管理层阅读和审批;IT部门可能利用它来生成详细的系统分析报告,便于团队成员共享和讨论。 5. 信息与计算科学专业内容: ...
在本主题中,我们将探讨如何使用帆软报表导出各种格式,包括Excel、Word和PDF等,以便满足不同场景下的需求。 首先,我们要知道帆软报表的导出功能依赖于两个核心的Java类库:fr-server-6.5.jar和fr-third-6.5.jar...
Visual C++源代码 190 如何使用自动化导出Word文件Visual C++源代码 190 如何使用自动化导出Word文件Visual C++源代码 190 如何使用自动化导出Word文件Visual C++源代码 190 如何使用自动化导出Word文件Visual C++源...
快逸报表授权文件确保用户能够合法使用这一功能,快速生成符合需求的报表,提高工作效率。 在实际应用中,这些授权文件是通过合法购买或授权协议获得的。企业应妥善保管这些文件,确保软件的正常运行,并遵循许可...
Apifox是一款功能强大且灵活的API设计和文档管理工具,支持多种格式的导出,包括Word版接口文档。在这个模板中,我们可以看到一个基本的Word版接口文档结构,包括标题、描述、标签和部分内容。 标题: Apifox导出...
本文将深入探讨如何使用jQuery实现Word文档的导出功能,并且重点讲解如何处理包含HTML和图片的数据。 首先,让我们了解jQuery导出Word的基本原理。通常,这个过程涉及到将HTML内容转化为Word文档格式,比如DOC或...
标题"pdm导出word模板(附使用说明)"表明这是一个关于如何从PDM系统中导出Word模板的教程,并且包含了一份使用说明,帮助用户理解和操作这个过程。下面将详细解释PDM系统中导出Word模板的相关知识点: 1. **PDM...
Java使用Apache POI库导出Word文档是一种常见的技术实践,特别是在企业级应用中,用于生成报告、合同或者自定义的数据输出。Apache POI是Apache软件基金会的一个开源项目,它提供了处理Microsoft Office格式(如Word...
总的来说,QT操作Word导出报表涉及的关键知识点包括:QT的ActiveQt模块、QAxWidget和QAxObject的使用、ActiveX控件的交互、以及Word的自动化接口。通过这些,你可以构建起一个灵活的报告生成系统,满足各种定制化...
`iReport`是一款开源的Java报表设计工具,它允许开发者创建复杂的报表布局,并能够导出为多种格式,如PDF和DOC(Word)。本文将详细介绍如何使用`iReport`来导出PDF和Word文档。 首先,`iReport`是JasperReports库...
在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...
Java报表API源代码主要涵盖了FineReport工具的程序数据集、自定义函数和导出API的实现,旨在帮助开发者深入了解报表工具的内部工作原理,掌握二次开发技能,以应对各种个性化的业务需求。FineReport是一款强大的Java...
在IT行业中,这样的操作通常涉及到数据导出、多表合并以及办公软件API的使用。润乾报表是一款广泛使用的报表工具,它提供了丰富的数据展现和处理功能,包括数据的导出到多种格式,如Excel。 在实现这个功能时,我们...
在Java编程环境中,导出Word文档是一项常见的任务,特别是在企业级应用中,如报表生成、数据导出等。本文将详细讲解如何使用Java实现Word文档的导出,并着重介绍涉及的库和关键技术。 首先,标题"JAVA 导出WORD"指...
总的来说,PHP导出Word文档并保持样式,虽然涉及一些复杂性,但通过使用如PHPOffice/PHPWord这样的库,可以简化这个过程。开发者需要对HTML、CSS、PHP以及可能的第三方库有深入的理解,才能有效地实现这一功能。在...
在这个例子中,我们将探讨如何使用POI库来处理Word文档,特别是利用模板文件循环输出表格行并导出新的Word文档。这个过程在数据分析、报告生成或自动化文档制作等场景中非常有用。 首先,我们需要理解Word文档的...