文档库 最新最全的文档下载
当前位置:文档库 › java与水晶报表结合

java与水晶报表结合

java与水晶报表结合
java与水晶报表结合

使用eclipse在jsp上显示水晶报表(转)

2008-09-10 20:23:32| 分类:Java | 标签:|举报|字号大中小订阅

我使用的开发IDE是eclipse3.2,服务器是tomcat5.5

新建一个Crystal reports web项目

在Target runtime选择apache tomcat v5.5

下一步中crystal reports java reporting component、dynamic web module、java是默认选中的,这三个是必需的,你也可添加struts,后面的设置会要求你添加struts的类库。在最后面默认加入示例的数据库和报表。

这样一个Crystal Reports web项目就建立了(上面的步骤应该是地球人都可以完成吧)

在里面有个CrystalReport1.rpt和CrystalReport_viewer.jsp

右键CrystalReport_viewer.jsp->运行方式->Run on Server,点击完成。

你应该就可以看到一个空的水晶报表了吧(为什么空的,当然啦,CrystalReport1.rpt本身是空的)

在看看sample reports文件夹里面,有4个示例的.rpt报表文件,右击其中任何一个,选中Crystal Reports-》创建查看器JSP,就会创建一个*-viewer.jsp文件。运行这个文件,你应该可以看到一个水晶报表了吧。

我想这对大部分人应该都是没有问题的,剩下的事情就是好好分析这个项目里面所有的东东了

-------------------------------------------------------------------------------------------------------------------------------------------------------

上面什么东西是在任何项目中实现都必须的呢?为此我特意建立一个新的tomcat项目,最好建一个简单的jsp页面测试下你的tomcat项目是否可以正常运行.

通过本人的实验,在其他项目中JSP运行水晶报表的话,需要的类文件跟配置.

1. 添加一个用户库如CrystalReports Libraries,把下面的*.jar添加进去

commons-collections-3.1.jar,commons-configuration-1.2.jar,

commons-lang-2.1.jar,

commons-logging.jar,

Concurrent.jar,

CrystalCharting.jar

CrystalCommon.jar

CrystalContentModels.jar

CrystalDatabaseConnectors.jar

CrystalExporters.jar

CrystalExportingBase.jar

CrystalFormulas.jar

CrystalQueryEngine.jar

CrystalReportEngine.jar

CrystalReportingCommon.jar

derby.jar

icu4j.jar

jrcadapter.jar

jrcerom.jar

keycodeDecoder.jar

log4j.jar

MetafileRenderer.jar

msbase.jar

mssqlserver.jar

msutil.jar

rasapp.jar

rascore.jar

ReportPrinter.jar

rpoifs.jar

serialization.jar

URIUtil.jar

webreporting.jar

webreporting-jsf.jar

xercesImpl.jar

xml-apis.jar

Xtreme.jar

(总共36个jar,里面有一些在其他的库已经有的了,在项目中添加这个自定义库就行了)

2. 把上个例子中的crystalreportviewers文件夹放在WEB-INF文件夹同一目录下。这个就是你能看到水晶报表的基本框架,相当于.net里面的水晶报表控件了的源代码了。

3. 把crystal-tags-reportviewer.tld放在WEB-INF下,主要标签

4. web.xml 在中间添加,主要是读入crystalreportviewers

crystal_image_uri

crystalreportviewers

crystal_image_use_relative

webapp

5. 把CRConfig.xml放在src文件夹下,水晶报表的配置文件,如果你有注册,注册码也会在这文件里面

CRConfig.xml

../..

0

配置超时间隔

利用CRConfig.xml 文件,您可以配置确定何时丢弃不活动报表源的超时间隔(以分钟为单位)。这是必要的,因为不活动报表源仍然会消耗系统资源(如数据库连接、服务器内存以及临时文件使用的磁盘空间)。可以通过在CRConfig.xml 文件中设置timeout 标记的值来指定超时间隔。默认情况下,超时间隔为10 分钟。通过将该值设置为0,可以将Java Reporting Component 配置为没有超时。

超时间隔仅适用于不活动报表-- 正在处理的报表不会因超出此值而超时。每次成功完成一个报表源请求时,超时定时器将会重置。如果在超时间隔内没有使用某个报表源,则会丢弃该报表源,并将其资源提供给其他进程使用。

6. 在jsp页面插入这段代码

<%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %>

感觉像在用.net里面的水晶报表控件一样,不只viewer,连partviewer也可以的.

在(一)中的配置保持不变,前一篇是用crviewer标签来实现jsp显示水晶报表的

这篇文章教你如何自己写代码来享受水晶报表的

report_source.jsp

<%@page contentType="text/html"%>

<%@page pageEncoding="UTF-8"%>

<%//Crystal Java Reporting Component (JRC) imports.%>

<%-- jrcerom.jar--%>

<%@page import="com.crystaldecisions.reports.sdk.*" %>

<%-- rascore.jar--%>

<%@page import="com.crystaldecisions.sdk.occa.report.lib.*" %>

<%

//水晶报表的位置

final String REPORT_NAME = "view_report.rpt";

%>

<%

try ...{

//打开报表

ReportClientDocument reportClientDoc = new ReportClientDocument();

reportClientDoc.open(REPORT_NAME, 0);

//把报表源放进session,传递到报表显示页面

session.setAttribute("reportSource", reportClientDoc.getReportSource());

//转到报表显示页面

response.sendRedirect("CrystalReportViewer.jsp");

}

catch(ReportSDKException ex) ...{

out.println(ex);

}

catch(Exception ex) ...{

out.println(ex);

}

%>

上面的可以封装到javabean里面

reportClientDoc.getDatabaseController().logon(USERNAME, PASSWORD);

设置数据库的登陆用户,如果浏览这个报表的用户需要设置不同的权限的话,那就需要设置上面这个了CrystalReportViewer.jsp

<%@page contentType="text/html"%>

<%@page pageEncoding="UTF-8"%>

<%//Crystal Report Viewer imports.%>

<%-- webreporting.jar--%>

<%@page import="com.crystaldecisions.report.web.viewer.*"%>

<%-- rascore.jar--%>

<%@page import="com.crystaldecisions.reports.sdk.*" %>

<%

//建立一个viewer对象实例,并设置

CrystalReportViewer viewer = new CrystalReportViewer();

viewer.setOwnPage(true);

viewer.setOwnForm(true);

viewer.setPrintMode(CrPrintMode.ACTIVEX);

//从session中取报表源

Object reportSource = session.getAttribute("reportSource");

viewer.setReportSource(reportSource);

//显示水晶报表

viewer.processHttpRequest(request, response,this. getServletConfig().getServletContext(), null);

%>

第二种方法直接用一个页面

CrystalReportViewer.jsp

<%@page contentType="text/html"%>

<%@page pageEncoding="UTF-8"%>

<%//Crystal Java Reporting Component (JRC) imports.%>

<%-- jrcerom.jar--%>

<%@page import="com.crystaldecisions.reports.sdk.*" %>

<%-- rascore.jar--%>

<%@page import="com.crystaldecisions.sdk.occa.report.lib.*" %>

<%-- webreporting.jar--%>

<%@page import="com.crystaldecisions.report.web.viewer.*"%>

<%

//水晶报表的位置

final String REPORT_NAME = "view_report.rpt";

%>

<%

try ......{

//打开报表

ReportClientDocument reportClientDoc = new ReportClientDocument();

reportClientDoc.open(REPORT_NAME, 0);

//把报表源放进session,传递到报表显示页面

//session.setAttribute("reportSource", reportClientDoc.getReportSource());

//建立一个viewer对象实例,并设置

CrystalReportViewer viewer = new CrystalReportViewer();

viewer.setOwnPage(true);

viewer.setOwnForm(true);

viewer.setPrintMode(CrPrintMode.ACTIVEX);

//从session中取报表源

//Object reportSource = session.getAttribute("reportSource");

//viewer.setReportSource(reportSource);

viewer.setReportSource(reportClientDoc.getReportSource());

//显示水晶报表

viewer.processHttpRequest(request, response,this. getServletConfig().getServletContext(), null);

//转到报表显示页面

//response.sendRedirect("CrystalReportViewer.jsp");

}

catch(ReportSDKException ex) ......{

out.println(ex);

}

catch(Exception ex) ......{

out.println(ex);

}

%>

个人感觉第一种方法好,报表源跟显示分开,安全,重用方便

在.net中,你可以很容易的用sql语句过滤报表数据,但在CR4E中没这样的功能设定,但可以通过编写代码完成。这里是我做的简单用sql语句过滤数据的例子。

项目还是用ǘ ├锩娴膖omcat项目。

建一个实现这个功能的类

JRC_ResultSet_DataSource.java

package com.JRC.util;

import java.sql.*;

import javax.servlet.http.*;

import com.crystaldecisions.reports.sdk.*;

import com.crystaldecisions.sdk.occa.report.lib.*;

public class JRC_ResultSet_DataSource ...{

private String REPORT_NAME="";

public JRC_ResultSet_DataSource(String report_name)...{

this.REPORT_NAME=report_name;

}

/** *//**

* @return rEPORT_NAME

*/

public String getREPORT_NAME() ...{

return REPORT_NAME;

}

/** *//**

* @param report_name 要设置的rEPORT_NAME

*/

public void setREPORT_NAME(String report_name) ...{

REPORT_NAME = report_name;

}

/** *//**

* 连接数据库,通过sql查询语句进行查询,返回结果集

*/

private static ResultSet getResultSetFromQuery(String query, int scrollType)

throws SQLException, ClassNotFoundException ...{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

final String DBUSERNAME = "username";

final String DBPASSWORD = "password";

final String CONNECTION_URL = "jdbc:microsoft:sqlserver://localhost:1433;database=dname";

java.sql.Connection connection = DriverManager.getConnection(CONNECTION_URL, DBUSERNAME, DBPASSWORD);

Statement statement = connection.createStatement(scrollType, ResultSet.CONCUR_READ_ONLY);

return statement.executeQuery(query);

}

/** *//**

* 通过sql语句过滤报表数据,在.net就不用怎么惨了

public boolean isReportSourceInSession(String session_name,HttpSession session) throws ReportSDKException, SQLException, ClassNotFoundException...{

boolean flag=false;

try ...{

//打开水晶报表

ReportClientDocument reportClientDoc = new ReportClientDocument();

reportClientDoc.open(REPORT_NAME, 0);

//sql查询语句,返回的字段数必须跟报表里面的一样,不能多也不能少,并且字段的类型要跟报表的一样,其他不管是什么数据都可以

//from 表这里要填完整,如数据库名.dbo.数据库表,最好做个别名

String query = "select tt.test_1,tt.test_2,tt.test_3,tt.test_4 from dname.dbo.test tt";

ResultSet resultSet = this.getResultSetFromQuery(query,ResultSet.TYPE_SCROLL_INSENSITIVE);

String tableAlias = reportClientDoc.getDatabaseController().getDatabase().getTables().getTable(0).getAlias();

//把结果集放进报表里,将会自动产生一个datasource

reportClientDoc.getDatabaseController().setDataSource(resultSet,tableAlias, "resultsetTable");

session.setAttribute(session_name, reportClientDoc.getReportSource());

flag=true;

return flag;

} catch (Exception e) ...{

// TODO: handle exception

e.printStackTrace();

return flag;

}

}

}

这里要注意数据库查询结果集的字段数目要跟报表里面的字段数目一样,类型也要一样,不然就会出错。

sql语句中的表的名字要完整,如数据库名.dbo.数据库表,最好做个别名

显示页面

Result_viewer.jsp

<%@page import="com.JRC.util.JRC_ResultSet_DataSource" %>

<%--webreporting.jar --%>

<%@page import="com.crystaldecisions.report.web.viewer.*" %>

<%--jrcerom.jar --%>

<%@ page import="com.crystaldecisions.reports.sdk.*" %>

JRC_ResultSet_DataSource jrcd=new JRC_ResultSet_DataSource("resultSet.rpt");

if(!jrcd.isReportSourceInSession("reportSource",session)

response.sendRedirect("error.html");

CrystalReportViewer crViewer=new CrystalReportViewer();

crViewer.setOwnPage(true);

crViewer.setOwnForm(true);

crViewer.setPrintMode(CrPrintMode.ACTIVEX);

Object reportSource=session.getAttribute("reportSource");

crViewer.setReportSource(reportSource);

crViewer.processHttpRequest(request,response,this.getServletConfig().getServletContext(),null);

%>

注意上面几点应该就没问题了

PS:Snippets视图最下面有Crystal reports的一些实用代码段

CR查看器标记、打开并查询报表、打开报表、查看报表、查看报表并设置数据库登录、将报表导出为pdf、将报表导出为rtf 等的代码段,简单易用

在eclipse中怎么把POJO插入到水晶报表里面呢?这就是第四篇的所要做的

首先,应该就是要建立一个实体类了。

我这里用一个OrderItems.java做例子,代码

package com.JRC.beans;

public class OrderItems ...{

public int id; //对应数据库表的id

public int quantity; //产品数量,数据库表所没有的

public OrderItems(int id, int quantity) ...{

super();

this.id = id;

this.quantity = quantity;

}

/** *//**

* @return id

*/

public int getId() ...{

return id;

}

/** *//**

* @param id 要设置的id

*/

public void setId(int id) ...{

this.id = id;

}

/** *//**

* @return quantity

*/

public int getQuantity() ...{

return quantity;

}

/** *//**

* @param quantity 要设置的quantity

*/

public void setQuantity(int quantity) ...{

this.quantity = quantity;

}

}

如果你还没建好报表,新建一个报表如Report.rpt,并打开这个报表

在项目资源管理器中,点击OrderItems.java前面的+ (发不了图片),可以看到“绿点OrderItems”,就是这个了,右击-》crystal reports-》添加到当前crystal报表。或者你可以直接把“绿点OrderItems”拉到报表中

这样OrderItems就在报表的数据中了,在报表数据中再添加一个数据库表,如products(product_id,

product_name,product_price,....,)

如果没出什么问题,那Report.rpt报表数据中有了OrderItems表和products表,左键按紧OrderItems表的id,把他拉到products 表的products_id上,你可以发现他们中间有条线。

这样OrderItems.id就跟products.products_id关联起来了。中间的线默认属性是等于,你也可以改成其他的。

右击Report.rpt-》Crystal Reports-》创建查看器JSP—》选择查看器API代码插入-》选中使用POJO填充报表、连接Crystal报表页面查看器-》确定

一个新的Report-viewer.jsp页面就出来了。不过现在很不能用,你要稍微改下里面的一丁点东西才行。

注意:Report-viewer.jsp中用到JRCHelperSample类,这个在(一)中建立的CR项目中有,是非常非常好的工具类,没事就把它拷到你的项目下吧,有很多地方要用到这个类。这个类在包com.businessobjects.samples里面

String reportName = ""; //填上你的报表名字

List dataSet = new ArrayList();

dataSet.add(new OrderItems());

dataSet.add(new OrderItems());

dataSet.add(new OrderItems());

dataSet.add(new OrderItems());

dataSet.add(new OrderItems());

你可以用OrderItems的构造函数添加数据集,你可以用到很多方法来添加dataSet数据集的,只要添加的是准确有效的OrderItems实体对象就行了

注意要把里面的/* */这些去掉

启动tomcat,运行Report-viewer.jsp吧

Crystal Report 2010水晶报表在 WINDOWS SERVER 2008使用

Crystal Report 2010水晶报表在WINDOWS SERVER 2008使用 前提條件:網站一定要調試成功,沒有任何錯誤,然後發布到Server之後,打開報表時,頁面沒有反應或是總是提示無法加載問題等問題,或顯示crystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumen tIsOpene等錯誤信息.可從以下方法來解決問題. 1.在Server安裝Crystal Report Runtime 組件,分為32位和64位,請注意 2.在windows\temp文件夾,要完全控制權限,切記,最好要重新啟動電腦 3.再建立web 應用程序

3.在第一次打開報表時,速度有點慢,然後提示安裝SAP Crystal Report Print Control 進行安裝,便可以正常預覽和打印. 在客户端使用一段时间后,没有任何反映或也没有报错的错误,就是不能预览及打印报表时,这时需要修注册表的键值:PrintJobLimit的数量,,默认值为75,须要修改为0,如下图所示 注册表路径:[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application Server\Server] ActvieX控件安装问题,错误提示信息[或是无法验证发行者等错误]如下下图所示

解决方法如下 1.客户端电脑安装.NET 3.5 或以上版本,最好也安装.NET 3.5 SP1 2.将本网站加入到受信任的站点,并将安全级别设为最低或是ActiveX控件所 有选项都启用 名无效,设定如下所示

Visual Studio 2008 水晶报表快速入门

Visual Studio 2008 水晶报表快速入门 医手 先新建一个Web项目: CrystalWebApp 为项目添加新项: CrystalReport1.rpt

在弹出的对话框,选择作为空白报表。用向导当然更方便,但在这里,白手起家或许能更好地理解。 在工具箱选择 Text Object,拖到报表头。写些字,设置字体之类的。在属性选项卡设置它的名字为 txtTitle 以供将来程序访问。 水晶报表对于程序员来说其实跟 Repeater 控件是很相似的。于是需要数据和字段名。在Repeater 控件中你可以很随意地指定要绑定的字段名。在程序还没有真正运行之前,这个字段名可以没有任何表的字段名跟它匹配,也可以没有任何类的属性名跟它匹配。但在水晶报表中,字段名在设计阶段就必须是真实存在的。还能稍感安慰的是,水晶报表一旦设计好之后,就能像 Repeater 控件那样绑定任意类型的对像。而不必是设计时指定字段来源的表或类。所以我们现在要创造些真实存在的字段名…… create table TabTest ( UserID int, UserName nvarchar(50), Age int, Birthday datetime ) 你可以用 Access 或者 Excel 来创造真实存在的字段名,但我这里是使用 SQL Server。 在 "字段资源管理器" 的 "数据库字段" 上按右键,选择 "数据库专家..."。在

弹出的对话框中,创建新连接==>OLE DB (ADO)(Access 或者 Excel 应点 "数据库文件" 前的 "+" 号)。在弹出的对话框,选择 "SQL Native Client" 作为提供程序。 按提示一步步地做,直到连上数据库。选择表 TabTest,把它弄到右边的框中。再点击确定。 折腾了半天就是为了这些字段名。对水晶报表的开发商无语…… 把需要显示的字段拖到 "详细资料"。"页眉" 和 Word 文档中的页眉完全不是一回事。这里的页眉其实就是列名(表头)。那么就顺便改一下列名吧。默认是有下划线的,可以改一下格式。

java与水晶报表结合

使用eclipse在jsp上显示水晶报表(转) 2008-09-10 20:23:32| 分类:Java | 标签:|举报|字号大中小订阅 我使用的开发IDE是eclipse3.2,服务器是tomcat5.5 新建一个Crystal reports web项目 在Target runtime选择apache tomcat v5.5 下一步中crystal reports java reporting component、dynamic web module、java是默认选中的,这三个是必需的,你也可添加struts,后面的设置会要求你添加struts的类库。在最后面默认加入示例的数据库和报表。 这样一个Crystal Reports web项目就建立了(上面的步骤应该是地球人都可以完成吧) 在里面有个CrystalReport1.rpt和CrystalReport_viewer.jsp 右键CrystalReport_viewer.jsp->运行方式->Run on Server,点击完成。 你应该就可以看到一个空的水晶报表了吧(为什么空的,当然啦,CrystalReport1.rpt本身是空的) 在看看sample reports文件夹里面,有4个示例的.rpt报表文件,右击其中任何一个,选中Crystal Reports-》创建查看器JSP,就会创建一个*-viewer.jsp文件。运行这个文件,你应该可以看到一个水晶报表了吧。 我想这对大部分人应该都是没有问题的,剩下的事情就是好好分析这个项目里面所有的东东了 ------------------------------------------------------------------------------------------------------------------------------------------------------- 上面什么东西是在任何项目中实现都必须的呢?为此我特意建立一个新的tomcat项目,最好建一个简单的jsp页面测试下你的tomcat项目是否可以正常运行. 通过本人的实验,在其他项目中JSP运行水晶报表的话,需要的类文件跟配置. 1. 添加一个用户库如CrystalReports Libraries,把下面的*.jar添加进去 commons-collections-3.1.jar,commons-configuration-1.2.jar, commons-lang-2.1.jar, commons-logging.jar, Concurrent.jar, CrystalCharting.jar CrystalCommon.jar CrystalContentModels.jar CrystalDatabaseConnectors.jar CrystalExporters.jar

CrystalReport操作,水晶报表操作

Crystal Report(RDC8)水晶报表在VC6环境中的调用方法(转) .NET/vcrdc8/vcrdc8.htm">https://www.wendangku.net/doc/1e11658143.html,/vcrdc8/vcrdc8.htm//源文出处 Crystal Report(RDC8)水晶报表在VC6环境中的调用方法 作者:jaesy. E Mail:jaesyinfo@https://www.wendangku.net/doc/1e11658143.html, Seagate Crystal Repo rt(水晶报表)一直是报表工具中佼佼者,其功能强大,设计灵活。在Cry stal Report 的8.0版本中,较多地融入COM思想,更加强调了RDC的概念。RDC为Repo rt Designer Component的缩写。 本文主要说明如何是VC6环境中使用RDC8,关于报表模板文件*.rpt设计及运行时属性的控制请参阅https://www.wendangku.net/doc/1e11658143.html,的其它介绍。 在Crystal Report以前的版本,主要采用CRPE api的方法,有兴趣的朋友可以参阅联机帮助。本文主要采用RDC的方法,也是现在推荐的方法。 以下以建立一个基于对话框的VC工程为例,说明实现方法,希望对大家有所帮助。 下载示例工程文件demoRDC.zip,46K(win2000 vc6) 第一步: 建立一个Crystal repo rt模板文件DemoRDC.rpt 本例为了简单起见,此报表没有关联任何数据库。 第二步: 建立一个基于对话框的VC工程,接受缺省选择,工程名DemoRDC。

第三步: 在工程中增加ActiveX Control :Crystal Repo rt Viewer Co ntrol.(如图1) 此时VC为工程增加了两个类, CCRVTrackCurso rInfo CCrystalReportViewer3 (图1) 根据需要设计程序主对话框的大小,并增加Crystal Report Viewer Control控件。ID为IDC_CRVIEWER1 并根据要求设置其属性。 然后用class wizard , 对其关联一个变量m_crv1。 第四步: 增加关于Crystal Report的COM接口对象,有两种方法,第一种方法,通过#import导入,稍微复杂。采用第二种方法,通过类型库导入。 具体方法如下:

C#水晶报表的使用

C#水晶报表的使用 1)在使用自带的水晶报表时,请注册,否则只能使用30次 2)使用CrystalReportViewer进行预览 CrystalReportViewer控件允许在应用程序中查看Crystal Report。ReportSource 属性用于设置要查看哪个报表。该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。 (1)打开“工具箱”,并将一个CrystalReportViewer 拖到窗体上,我们命名为rptVew。 (2)通过拖放操作将Windows 窗体查看器调整到希望的大小并将其移动到所需位置。 (3)当运行应用程序时,报表将显示在查看器中。 3)创建新报表 (1)指向“添加”,单击“添加新项”。 (2)在“添加新项”对话框中,从“模板”区域选择Crystal Report,将报表命名为rptClient,单击“打开”。 (3)在Crystal Report 库中,选择下列选项之一: A.使用报表专家-> 指导您完成报表的创建过程,并将您的选择添加到Crystal Report Designer。 B.作为空白报表-> 打开Crystal Report Designer。 C.来自于现有的报表-> 创建新报表,它与指定的另一报表设计相同。 注意Crystal Report 库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。(4)单击“确定”按钮。 如果选择使用“报表专家”,便会出现“报表专家”对话框,并带有数据资源管理器。为每

SAPB基本操作

SAP B1基本操作整理 【前注】 【财务】 ERP的第一个作用:收集并整理数据。 上下文帮助— (帮助——文档——上下文帮助) 基础操作3 页码: 注:缺省,即没有任何说明。 注:未清,即指后一步手续没有做。 注:如果(网络版)客户端登录速度特别慢的话,可能是服务器网卡太多,license读取数据时需要找到确定的网卡。【基础操作】 锁定屏幕:文件→锁定屏幕 导出Excel表格格式:第一行小工具(Microsoft Excel) 新建公司:选择公司(新建)——同时新建一个库。 注:本地设置:PR.china。 科目表:股份公司:自动创建科目表。 新建“过账期间”。

许可证分配:许可证管理-用P用户换用来设置其他用户信息。 注:一个许可证只能保证一个用户使用。 新建用户:【设置-常规-用户】(同一个公司,即数据库相同。) 注:从权限设置中可以看到新建的用户。 权限设置:【系统初始化-权限】 注:附加权限设置??? 复制:右键复制,第一个复制为复制到字段,第二个复制为复制整个单据。调整表头顺序:表格设置,双击表格设置的表头。(也可以任意拖放) 凭证草稿:【报表-凭证草稿报表】 关闭——可以使被引用的单据(未清变已清——不能再被引用) 取消——仅指未被引用的单据(已取消) 操作附注: 基本凭证:Ctrl+N 添加:Ctrl+Add 目标凭证:Ctrl+T 查找:Ctrl+Find 复制单据:Ctrl+D 主菜单:Ctrl+O 付款总计:Ctrl+B 过滤/排序 打印/预览 导出Excel表格。 更改标题:Ctrl+双击

【管理】 修改公司名称:【系统初始化-公司详细信息】 将新的公司名输入;在【管理-选择公司】登陆界面中刷新。 新建用户:【管理-设置-常规-用户】添加用户,输入新密码,也可以在此修改密码。(同一个库,添加用户) 即可在权限设置界面查看到。 用户在查看“单据草稿报表”时,首先要选中明确的用户,或者选择“全部”,看到相关的草稿信息。 过账期间:【系统初始化】→【过账期间】 注:期间代码和名称最好为本年份,子期间最好为“月”。 注:如果“过账期间”建成了年,若没有财务记录,可以右键删除;若有财务记录,则可以修改过账期间的日期,然后手动添加各个月份的期间。比如:代码201502,既建立了2月份的过账期间。 注:过账期间不能做上一年的期间,因此实施时应当逆推几个年份。 更改密码:【管理-设置-常规-安全性-更改密码】 系统消息设置:(主页面最下层的错误警告状态栏):【窗口-系统消息日志】。 地区设置:管理-设置-常规-地区 行业设置:业务伙伴主数据-常规页签-行业 快捷键定制:【工具-我的快捷键-定制】(注:要点击确定分配) 本币设置:【系统初始化】→【公司详细信息】(基本初始化) 货币维护:【管理】→【设置】→【财务】→【货币】 (货币舍入/ 不舍入) 注:货币一般设置为本币(公司本币)。 假期设置:【管理】→【系统初始化】→【公司详细信息】(会计数据)

水晶报表完整教程:对比FineReport之用户入门

水晶报表完整教程:对比FineReport之用户入门 水晶报表(crystal report)和FineReport都是很常用的报表工具,这里对比一下它们的用户入门功能。 水晶报表用户入门如下: 新用户快速入门 下面的教程帮助您在创建第一张报表时即树立信心。请使用本联机帮助的“目录”选项卡在教程中进行浏览。 在本教程中,当创建“客户列表”报表时,会获得有关该程序的介绍。“客户列表”是最基本的商务报表,一般含有诸如客户名称、城市、地区和联系人姓名之类的信息。 现在开始学习基本概念:选择数据库,在报表中放置一些字段,然后选择要包含的特定记录。接下来学习如何: 插入和移动数据库字段。 添加标题并设置格式。 在“预览”选项卡中显示报表,以便可以精细调整报表。 使用“选择专家”以确保在报表中只包含所需的数据。 移动对象。 数据分组及排序。 插入图片。 打印报表。 开始之前 本教程假设您已经熟悉了Microsoft Windows,并使用Windows环境中常见的惯用术语和过程。如果您还不熟悉Windows,请参考Microsoft Windows文档,以获得进一步的解释。程序中所有报表节的默认字体都设置为宋体、10磅。如果更改了默认字体,或者打印机不支持这种字体,那么字段大小、字段间距和屏幕显示看上去将和教程中的不一样。 本教程是在Microsoft Windows2000平台上设计的。如果使用不同的平台,则屏幕显示可能略有不同。 如果您还不熟悉Crystal Reports环境,请查看格式化,其中介绍了如何使用网格、自由格式位置、使用准线及格式设置活动。 创建报表

1.单击“标准”工具栏上的“新建”。 Crystal Reports库出现。 2. 3. 库中包含了许多向导,用于指导您创建特定类型的报表。因为在此处是学习报表的概念,所以可以跳过向导,从头开始创建报表。在完成本教程的学习之后,可以使用向导创建一些报表,以比较哪种报表创建方法最适合您。 4.选择“Crystal Reports库”对话框上的“作为空白报表”,然后单击“确定”。 出现“数据库专家”对话框。 5. 注意:可以根据数据库文件、SQL/ODBC数据源、字典文件、查询文件和各种其他数据源创建报表。 打印“产品注册”表格,然后通过传真将该表格发送到离您最近的注册传真号码。 Crystal Decisions将通过传真向您发回一个注册号,下一次使用产品时,您就可以将此注册号输入产品。 注册传真号码

第7章 水晶报表

教 34 案 章节标题:第7章水晶报表 教学目的: 1. 水晶报表简介 2. 报表的执行模式 3. 学习水晶报表的基础内容 教学重点:1. 报表的执行模式。 2. 水晶报表的各种形式。 教学难点:同重点。 教案类别: 复习提问

组织教学 复习提问:安装部署步骤。 讲授新课: 7.1 水晶报表简介 报表是一种有效的数据管理工具,用于帮助用户快速掌握原始数据中的基本元素和关系,以便进行下一步有效地决策。水晶报表(Crystal Reports)作为一个优秀的报表开发工具,已经成为了Visual Studio 2005 中的标准报表创建工具。水晶报表中内置了报表专家帮助程序设计者创建报表,并且完成报表设计中常用的操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,表示一些不明显却很重要的关系。生成报表的过程中,如果用文字和数字不能清晰地表达,还可以使用地理地图和图形进行更加形象的描述。 水晶报表中一些常用到的概念如下: (1)水晶报表设计器(Crystal Report Designer ) 水晶报表设计器用来创建和编辑水晶报表。 (2).rpt报表文件 (3)数据源 (4)水晶报表查看控件(Crystal Report Viewer) (5)执行模式 (6)报表类型 (7)Strongly-typed 报表 Strongly-typed 报表是指加入到项目中的报表,这种模式下可以直接创建报表,编写的代码少,提供的性能多。 (8)Un-Typed 报表 与Strongly-typed 报表不同,Un-Typed 报表不直接包含在项目中,这种模式下必须使用报表文档“ReportDocuemt”对象创建一个实例,“手动”调用报表。 7.2 报表的执行模式 1.拉模式 在拉模式中,数据库驱动程序连接到数据库,并根据用户预先设定好的查询语句将

水晶报表打印模板修改

打印模板修改 1.1水晶报表软件安装 1.执行安装包下CR10_Autorun_CHSENT.exe,安装水晶报表软件 2.或者,在Crystal Reports安装目录中,双击,进入Crystal Reports 10 安装向导。

3.按照提示,点击“下一步”,并接受《许可协议》后,进入用户信息设置。输入产品密 钥号码,点击“下一步”,选择目标文件夹路径,开始安装。

4.按照提示安装完成水晶报表 5.安装完毕后,安JA V A组件,如下图。(修改BS文稿打印模版时,需进行以下操作,否 则,直接跳过此步。)

1.2 修改打印模版 在文稿软件的安装路径下,例如:C:\dayangNews\bin\rpt,找到后缀为rpt的打印模板,,双击打开,进行数据源的更新。这里以NewsClueItemPrint.rpt为例。 1.2.1 SQl数据库模板修改 1.打开模版后,见下图,在界面右侧“字段资源管理器”—“字段”页面内,右键点击“数 据库字段”,选择弹出菜单中的“设置数据源位置”。 此时,弹出如下界面。但是红框内显示的当前数据源位置信息与实际环境不同,我们要对它进行更改。

2. 见上图,双击界面下方的“创建新连接”选项,弹出如下图所示窗口,双击“OLE DB (ADO)”, 选择“OLE DB (ADO)”后,弹出如下对话框,从列表中选择“Microsoft OLE DB Provider for SQL Server”点击“下一步”;

3. 在弹出的对话框中输入服务器名。例如,服务器:192.168.10 4.3,用户名:sa,密码为空。此时,如果输入信息正确,则在数据库的下拉列表中会看到所有可用数据库信息,选择其中的dynews30,点击“下一步”至“完成”。

动态生成水晶报表

这两天学习如何生成动态水晶报表,看了网上的一些资料,觉得讲得都不是很详细。今天晚上做一个小的实例,算是对这两天学习的总结吧。 先让我们来看一下现实现的步骤: 一、新建一个项目: 二、向项目中添加Crystal 报表和DataSet 数据集,报表使用专家向导,在DataSet 数据集中添加一个表,为表添加八列,都使用默认名。

三、为CrystalReport1 设置数据库字段与参数字段。 四:实现代码: using System; using System.Collections.Generic; using https://www.wendangku.net/doc/1e11658143.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.ReportSource; using CrystalDecisions.Shared; using CrystalDecisions.Windows.Forms; /**//**//**////

/// 动态生成水晶报表 ///

/// 王稳嵩 /// /// 2007-10-23 ///

namespace WindowsApplication4 ......{ public partial class Form1 : Form ......{ CrystalReport1 CrystalReport11; ParameterFields paramFields;//定义一个参数字段集对象 ParameterField paramField; //定义一个参数字段列表对象 ParameterDiscreteValue paramDiscreteValue; //定义离散值参数对象 DataSet1 ds1; SqlConnection conn = new SqlConnection("server=(local);Integrated Security = SSPI; database = Northwind"); public Form1() ......{ InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) ......{ this.cmbSqlstring.Items.Add("select orderid,customerid from orders"); this.cmbSqlstring.Items.Add("select * from Orders"); this.cmbSqlstring.Items.Add("select * from Products"); this.cmbSqlstring.Items.Add("等等"); } private void butQuery_Click(object sender, EventArgs e) ......{ if (this.cmbSqlstring.Text != "") ......{ if (this.cmbSqlstring.Text == "等等") ......{ MessageBox.Show("兄弟您可真幽默,没有这样的sql语句吧"); return; } this.dataGridView1.Columns.Clear(); try ......{

VS2008完整水晶报表发布部署总结

VS2008水晶报表发布部总结 一、安装运行时支撑文件 如果你安装了VS2008,那么可以找到如下目录: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5 此目录下有如下文件: COPY到服务器上根据服务器CPU情况选择性地安装一下。 二、将WEB项目打包成安装程序 1. 在WEB解决方案中新建一个项目,选择项如下: 2. 右键点击项目名称,选择“视图”-“文件系统”

3. 按下图操作: 4. 设置项目的启动文件:

5. 在项目名称上右击,按下图操作,选“项目输出”: 6. 选“内容文件”后再“确定”:

7. 按SHIFT+F6即可生成安装文件,可以在项目的目录下能找到如下结果文件: Copy这个MSI文件到服务器上安装完就可以浏览了。 三、修补水晶报表的图标显示和打印功能 问题:如上所述,是可以浏览了,但是报表显示的工具栏上图标出不来:如下: 看到吗,小图标出不来。其它你再试试,打印也没法选打印机的。 解决办法:

1. 在自己开发的PC上找到如下目录: C:\WINDOWS\https://www.wendangku.net/doc/1e11658143.html,\Framework\v2.0.50727\https://www.wendangku.net/doc/1e11658143.html,ClientFiles\CrystalReportWeb FormViewer4 注意:CrystalReportWebFormViewer4中的4有可能与你的不一样,无所谓的。 2. 将CrystalReportWebFormViewer4目录复制到你的WEB服务器上项目所在目录中,如: C:\???????\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer4 再试试看吧,问题解决! 祝好运! https://www.wendangku.net/doc/1e11658143.html,水晶报表安装部署(vs2005,vs2008) 1. 水晶报表安装程序和汉化包 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalRepo rts 2. 安装水晶报表运行时支持,打包下面这个目录到需要安装的服务器,然后点击“CRRedist2008_x86.msi” C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5 3. 将下面几个dll拷贝到/bin下,注意版本号 https://www.wendangku.net/doc/1e11658143.html, 2005,在这个目录 C:\Program Files\Microsoft Visual Studio 8\ReportViewer https://www.wendangku.net/doc/1e11658143.html, 2008,在这个目录 C:\Program Files\Microsoft Visual Studio 9.0\ReportViewer

水晶报表如何导出一个完美的EXCEL表格

现有报表项目中,一般有把报表导出成Excel的要求 而对于水晶报表来说,虽然带了导出Excel的功能,但是能导出一个能用的excel表格却不容易 因为很容易就会出现跨行跨列的情况,默认导出是没有格线的,手工(或者导出时选了格线)加上格线后,会显得很难看最主要的是没法直接在上面用,这给报表的再处理也带来了很大的不便。 很长一段时间以来,我一直是这么认为的,但是实际上,这是可以实现的。(非常感谢IBM的周勇) 我们一般做格子状的显示,都是用大框加线条或者单纯线条来做的,其实只要换个方式,用字段的边框来实现就可以了。先来看一下最终效果

需要说明的是,这个表格导出的时候,是没有选择“显示网格线”的

以上制作方法同样适用于infoview/web方式地导出。 我做了个操作视频,所以这里只是简单地说明一下。 把要使用的字段全划拉上,右键,格式化,选边框

注意,不是把字段的四个边全选上,比如在本例中,对于页眉上的几个表头字段,使用了左上下三边,最右边一个字段多了个右边这是因为前一个字段把后一个字段的左边框作为自己的右边框了 同样的,对于详细资料节上的字段,只用左下两个边,最右边的加一个右边框即可 这样详细资料节的每行的下边沿作为下一行的上边沿,对于第一行来说,它使用页眉上那一行的下边沿作为自己的上边沿 比较绕口,呵呵,不过做几次就熟悉了。 20090506更新: 使用上述方法,如果字段中存在Null或空的情况,会导致出现一个白色的区块,没有边框。可用如下方法解决: 如果是字符型的字段 if {字段}='' or isnull(字段) then ' '

VB程序打印水晶报表的方法

VB程序打印水晶报表的方法. 环境: MS SQL SERVER 2000 / VB6 / CRYSTAL REPORT8.5 步骤 1: 建立ODBC连接 2: 创建一个为Crystal Report报表文件 3: 加载Microsoft ActiveX Data Objects Library 至项目的References 中 4. 创建VB 设计(Designer) , 通过open existing file的方式把Crystal Report报表文件加载进来. 如果报表条件从画面输入需要写一些简单程序, 举例 Dim adoRs As ADODB.Recordset Private Sub Report_Initialize() SQL$ = "select * from view_XXXX where XXXX " ‘根据画面,重新获得where条件’ Set adoRs = CreateObject("adodb.recordset") adoRs.Open SQL$, "Provider=MSDASQL.1;Persist Security Info=False;Data Source=odbc_sales", adOpenKeyset, adLockBatchOptimistic

Database.SetDataSource adoRs End Sub Private Sub Report_Terminate() Set adoRs = Nothing End Sub 5: 创建VB画面(Form) ,加入Crystal Report Viewer控件 一些简单程序, 举例 Dim RptReportName As Rpt_ReportName ‘RptReportName is name of designer Private Sub Form_Load() CRViewer1.ReportSource = RptReportName CRViewer1.ViewReport End Sub

图书管理系统的设计与实现毕业论文

学校代码: 学号: 11517 200809203252

毕业设计(论文) 题目图书馆管理系统的设计 与实现 河南工程学院毕业设计(论文)原创性声明 本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。

论文作者签名: 年月

开题报告表

打印图书信息的功能主要是通过水晶报表来实现的。水晶报表是 Visual Studio 一部分, 使用Crystal Reports 水晶报表可以创建简单的报表,也可以创建复杂的、专业的报表,它 可以从任何数据 源生成所需要的报表。 四、工作的主要阶段、进度与时间安排 : :确定系统开发模式、开发工具及构建开发环境。 完成系统需求分析。 :完成总体设计,建立系统框架。 :完成系统设计详细设计。 完成论文初稿和测试系统基本功能,进行中期检查。 2011-5-16至2011-5-29 ::完成系统修改和调试。 2011-5-30至2011-6-5 ::完成论文终稿并提交完整系统软件。 2011-6-6 至2011-6-12 :准备答辩资料。 2011-6-13 至 2011-6-15 :进行预答辩。 五、 完成设计所具备的条件因素及解决的办法 (1) 硬件条件: CPU: 2.0GHz 以上。 RAM: 1GB 以上。 硬盘剩余空间:5GB 以上。 以上硬件条件用现在普通的 PC 就能实现。 (2) 软件条件: 操作系统: Windows XP Professional 或 Windows 2000 或 Windows 2003 Sevice 系统平 台。数据库: Microsft SQL server 2000 数据库系统. 服务器配置:IIS 5.1 第三方软件:VS2005 以上软件均可以从光盘安装或官方网站下载安装 六、 指导教师意见和建议 李彦同学经过认真的调研工作,通过阅读网站建设领域的相关文献,将网络技术应用于图书 管理领域,课题工作量适量,选题具有较强的实用性,同意开题。 指导教师签名: 课题类型:(1) A —工程设计;B —技术开发;C —软件工程;D —理论研究; (2)X ――真实课题;Y ――模拟课题;Z —虚拟课题 要求 (1 )、(2)均要填,如 AY BX 等。 2011-2-21 至 2011-2-27 2011-2-28 至 2011-3-6 2011-3-7 至 2011-3-13 2011-3-14 至 2011-4-3 2011-4-4 至 2011-5-15 日期:

vs2005水晶报表打包部署

vs2005水晶报表打包部署 vs2005中的crystalReport客户端分发 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports CRRedist2005_x86.msi 在客户端运行上面的文件即可 1)新建“安装和部署项目”-->“安装项目”,确定后在我们的解决方案中多了个安装和部署的项目 2)右键点击刚建的安装项目-->添加--->项目输出-->从列表中选择主输出-->选择输出的项目 3)右键点击刚建的安装项目-->添加--->合并模块-->把我们下载到的10 net 部署的合并模块全部添加进去 4)注意有个CrystalReports10_NET_EmbeddedReporting.msm的模块,我们查看它的属性,把AV860-01CS00G-U7000NC填写到keycode属性值中,要不编译不通过的. 5)最后我们来编译生成我们项目的安装文件,setup.exe在客户端就可以安装正常使用了 下载合并模块 简体中文(cr10_net_merge_modules_chs.zip) https://www.wendangku.net/doc/1e11658143.html,/communityCS/FilesAndUpdates/cr10_net_merge_modules_chs.zip.asp cr10_net_merge_modules_chs.zip 解压后有四个合并模块分别为: CrystalReports10_maps.msm ; CrystalReports10_NET_EmbeddedReporting.msm; CrystalReports10_NET_RemoteReporting.msm; CrystalReports10_NET_WebServiceReporting.msm

水晶报表部署问题

没有图标解决办法 1:把你本地机上的C:\Inetpub\wwwroot\aspnet_client目錄拷貝覆蓋到服務器上,不行你就放你的网站根目录试试看 2: 把在ProgramFiles\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports\找到: CRRedist2005_x86.msi及zh- chs\CRREdist2005_x86_chs.msi在服务器上安装一下 我试过了,没问题的,要是你水晶报表软件已经在服务安装注册了,第二部就可以省了 水晶报表如何发布到服务器 2011-08-20 12:13:55| 分类:水晶报表|举报|字号订阅 1,要在服务器安装CRRedist2008_X64.msi CRRedist2008_X64_CHS.msi CRRedist2008_x86.msi CRREdist2008_x86_chs.msi这几个文件,因为我们的服务器是Win2008,所以我选择了CRRedist2008_X64.msi CRRedist2008_X64_CHS.msi 这两个文件进行安装。这个是必须安装的,否则页面会报以下错误: 未能加载文件或程序集“https://www.wendangku.net/doc/1e11658143.html,mLayer, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。 2,文件发布的时候,web.config下要有以下几个引用:

SAP BO集成方案简介

BO/SAP集成方案简介 在BO被SAP并购以后,越来越多的SAP用户开始使用BO的报表技术。本文从技术层面介绍了BusinessObjects(BO)不同产品如何从SAP系统中获得数据。 BusinessObjects 产品线 BusinessObjects本文试图在BO产品如何连接到SAP系统上给你一个大体上的介绍。 BO产品和SAP集成,有以下方式帮助建立数据连接: 水晶报表 你需要安装SAP集成套件来激活水晶报表到SAP的数据连接。有如下不同的数据连接组件,可以从不同的SAP 数据源取得数据: ?SAP BW query数据连接/SAP BW MDX数据连接,可以连接到SAP BW。BW query数据连接只能从B W query中取得数据,而BW MDX数据连接既可以连接到BW query, 也可以连接到BW信息提供者。 ?OpenSQL数据连接可以通过OpenSQL接口连接到SAP。 ?ODS数据连接可以连接到ODS数据源。 ?InfoSet数据连接可以连接到SAP R3 InfoSet数据源。 Web Intelligence 在安装了SAP集成套件后,在Universe“创建连接”的对话框中就会多出一个“连接到SAP BW”的选项。如果选择BW为数据源,这个新建的Universe就会是一个OLAP Universe。OLAP Universe会把BW query的定义带到u niverse中,并把bw中的特性映射为universe中的维度对象,把bw中的关键值映射为universe中的度量对象。在OLAP Universe中,结构区域是空的(没有表和连接),并且在Universe中可以修改的地方并不多。更多的细节信息请参考BO官方文档Using SAP NetWeaver Business Intelligence in Universe Designer。 水晶易表 总的来说,有两种方式可以从水晶易表连接到SAP数据源:原先的间接方式和最新的直接方式。 ?间接方式:使用Live Office将水晶易表的数据源桥接至水晶报表或者webi。基本的流程为:首先使用如上提到的方法基于SAP数据源创建一个水晶报表/webi,然后将这个报表插入Live Office中,最后将这个L ive Office文档导入水晶易表,并在水晶易表中配置Live Office连接。或者你可以使用Query as a Web Service (QaaWS)。要使用QaaWS,首先基于一个基于SAP的Universe创建一个QaaWS,然后再水晶易表中配置这个QaaWS的数据连接。 ?直接方式:水晶易表2008 SP2发布了一系列的新功能,用于支持对BW数据源的直接访问。你可以在水晶易表中的“创建连接”界面中,直接连接到一个BW query数据源。除此之外,你还可以将生成的可视化文件直接发布到BW和门户上。 Business Objects Enterprise(商务智能平台) SAP集成套件支持使用SAP用户的用户名/密码直接登录BOE,并且实现BOE和SAP系统之间的单点登录。管理员将SAP的角色导入到BOE中并分配相应的权限后,SAP用户就可以直接使用他们的SAP用户名/密码登录B OE,并且不需要再次输入用户名/密码就可以查看基于SAP数据源的报表。

[分享]水晶报表交叉表及数据过滤基础篇

下面以PUSH模式为例,图解制作过程:(本文转载CSDN) 首先在界面上放置两个dataTimePicker控件,分别取名dtpStart,dtpEnd,可以任意选择起止时间,一个“测试报表”按钮(本案例该按钮起到刷新报表作用),取名btnReport,还有cryta lReportView控件是少不了的(要不然怎么查看报表呢:)),采用默认名称,Form界面就这 些东西。 既然是PUSH模式,就必须给它一个“骨架”,在项目中添加新项选择数据集,如图示: 名称随意(我这里是默认名DataSet1),然后打开数据集设计界面,右击->添加->DataTabl e,此时界面已多出DataTable1,右击DataTable1->添加->列,输入列名dtValue,在属性框中更改其数据类型为System.DateTime,如图示:

继续添加两列(根据需求而定,这里的列相当于数据库中的字段),TextType(System.Stri ng),iCount(System.Int32),记得保存,此时“骨架”构造完毕,此时还是一个空匣子。 往项目中添加一模板rpt文件,跟刚才添加数据集过程类似,我这边继续采用默认名,打开rpt文件,会有一个“字段资源管理器”框,右击数据库字段->数据库专家,会弹出一个数据库专家界面,在这个界面我们把刚才构造的“骨架”放到报表中来,如图示: 在数据库字段中把要显示的字段拖放到报表详细资料节,如图示: 然后插入交叉表,该是本文的重点之一: 右击报表尾空白处->插入->交叉表,在交叉表专家中设置如下:

重点也就是这样,很简单吧:) 然后我们设置下日期和数字的显示格式,右击日期字段dtValue对象->设置对象格式

C#操作Excel开发报表系列整理

C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新。 需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是多几个,少几个参数,补上参数System.Reflection.Missing.Value就可以了 将Excel应用于报表开发中(一)--开始 使用C#和Excel进行报表开发(二)-操作统计图(Chart) 使用C#和Excel进行报表开发(三)-生成统计图(Chart) 使用C#和Excel进行报表开发(四)-复制单元格 使用C#和Excel进行报表开发(五)-操作单元格边框和颜色 使用C#和Excel进行报表开发(六)-操作行和列 使用C#和Excel进行报表开发(七)-设置单元格的显示格式 4月12日新增 使用C#和Excel进行报表开发(八)-用程序绑定数据源 将Excel应用于报表开发中(一)--开始 Posted on 2006-11-27 18:31 Cure阅读(8507) 评论(12)编辑收藏所属分类: 报表应用, .Net开发 目前的商业工具如水晶报表,ActiveReport等,都提供了灵活,强大的功能,但是对于比较特殊化的表格,特别是国内的一些应用,都是一个个的格子组成的,这样要是用线来一根根画就比较麻烦,但是这类工具还都不提供表格化的报表布局定义方式。一个很好的选择是VS2005的客户端报表(RDLC),但是在某几个方面还是不够灵活,例如,灵活性有限制,要想自己编码实现一些复杂逻辑还是有困难;要VS2005,对于一些还在使用VS2003的项目就只有眼馋的份了。用Excel来实现,优点在于页面布局设计灵活,同时使用代码来操作数据要更灵活,更精确。 下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为报表的模板,然后向模板的指定格子里填充数据,形成一个报表,在web方式下可以按照指定的命名方式在服务器上生成一个excel 文件,之后传送到客户端,由客户端启动excel进行打印。

相关文档
相关文档 最新文档