利用CrystalReport与C#生成报表(vs2010+sql2008)
2013-05-25 20:34
507 查看
利用CrystalReport与C#生成报表(vs2010+sql2008)
请看图1,这份报表有多复杂?猜猜它需要多少时间完成?就复杂而言,它只是一份简单的、从Share>Student (SQL Server 2008)中提取出来的报表;就时间而言,相信不会花你很多时间吧。
![](http://img.blog.csdn.net/20130525202237615)
开始之前说明:VS2010本身是没有CrystalReport。要进行下载安装。安装成功之后,就可以继续完成下面的步骤。
下面,我们开始创建报表,首先要编写一个生成报表的C#小程序。
第一步:创建一个Windows应用程序
选择文件菜单,新建-工程,从工程类型中选择C#,从右方对话框中选择Crystal Reports应用程序;
![](http://img.blog.csdn.net/20130525202422849)
接着点击确定,出现下图所示:
![](http://img.blog.csdn.net/20130525202452239)
选择作为空白报表,点击确定。
第二步:为工程添加数据集(DataSet)
数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据。
请依照如下步骤添加数据集:
1、从解决方案资源浏览器中选择添加-新建项-数据集,并单击添加按钮完成。如图所示:
![](http://img.blog.csdn.net/20130525202545454)
2、将你所要输出的数据表添加到数据集(DataSet1)中.
以下为添加数据表到数据集(DataSet1)中:
首先打开VS2010的服务器资源管理器:找到你所要添加的表(我这里的表是数据库:Share的表:Student),
![](http://img.blog.csdn.net/20130525202619625)
然后鼠标点击该表Student不放,拖动到右边的DataSet1.xsd.。结果如下图:
![](http://img.blog.csdn.net/20130525202710156)
第三步:设计报表
1、 双击解决方案资源管理器的CrystalReport1.xsd:
首先在报表头添加报表标题(我这里标题是学生基本信息一览表),在页脚添加第N页共M页,打印时间。(这些可用特殊字段直接生成)。
![](http://img.blog.csdn.net/20130525202738248)
2、在字段资源管理器右击数据库字段的数据库专家,如下图所示:
![](http://img.blog.csdn.net/20130525202821325)
3、展开字段资源管理器的节点,如图:
![](http://img.blog.csdn.net/20130525202838012)
4、将所要输出的Student的StuID、Name、Sex、Class、Telephone、Location依次拖到报表的详细资料处。
![](http://img.blog.csdn.net/20130525202855777)
第四步:编写赋予报表生机的C#代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Windows.Forms;
using System.Data.SqlClient;
namespace CrystalReportsApplication1
{
public
partial class
Form1 : Form
{
publicForm1()
{
InitializeComponent();
}
privatevoid Form1_Load(objectsender,EventArgs e)
{
DataSet1 ds =new
DataSet1();
using (SqlConnectioncon =new
SqlConnection(“这里是连接字符串,自己自行添加自己实际的连接字符串”))
{
SqlDataAdapter da =new
SqlDataAdapter("select * from Student;", con);
da.TableMappings.Add("Table","Student");
da.Fill(ds);
CrystalReport1 cr1 =new
CrystalReport1();
cr1.SetDataSource(ds);
crystalReportViewer1.ReportSource = cr1;
}
}
}
}
第五步:修改app.config配置文件
修改后的代码如下:
<?xmlversion="1.0"encoding="utf-8"
?>
<configuration>
<configSections>
</configSections>
<startupuseLegacyV2RuntimeActivationPolicy="true"> //主要添加的部分
<supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.0"/>
</startup>
<connectionStrings>
<addname="CrystalReportsApplication1.Properties.Settings.ShareConnectionString"
connectionString="Data Source=zyjun-PC;Initial Catalog=Share;Persist SecurityInfo=True;User ID=sa;Password=123456"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
第六步:调试运行。效果图如下:
![](http://img.blog.csdn.net/20130525202156557)
总结:分享快乐!
请看图1,这份报表有多复杂?猜猜它需要多少时间完成?就复杂而言,它只是一份简单的、从Share>Student (SQL Server 2008)中提取出来的报表;就时间而言,相信不会花你很多时间吧。
开始之前说明:VS2010本身是没有CrystalReport。要进行下载安装。安装成功之后,就可以继续完成下面的步骤。
下面,我们开始创建报表,首先要编写一个生成报表的C#小程序。
第一步:创建一个Windows应用程序
选择文件菜单,新建-工程,从工程类型中选择C#,从右方对话框中选择Crystal Reports应用程序;
接着点击确定,出现下图所示:
选择作为空白报表,点击确定。
第二步:为工程添加数据集(DataSet)
数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据。
请依照如下步骤添加数据集:
1、从解决方案资源浏览器中选择添加-新建项-数据集,并单击添加按钮完成。如图所示:
2、将你所要输出的数据表添加到数据集(DataSet1)中.
以下为添加数据表到数据集(DataSet1)中:
首先打开VS2010的服务器资源管理器:找到你所要添加的表(我这里的表是数据库:Share的表:Student),
然后鼠标点击该表Student不放,拖动到右边的DataSet1.xsd.。结果如下图:
第三步:设计报表
1、 双击解决方案资源管理器的CrystalReport1.xsd:
首先在报表头添加报表标题(我这里标题是学生基本信息一览表),在页脚添加第N页共M页,打印时间。(这些可用特殊字段直接生成)。
2、在字段资源管理器右击数据库字段的数据库专家,如下图所示:
3、展开字段资源管理器的节点,如图:
4、将所要输出的Student的StuID、Name、Sex、Class、Telephone、Location依次拖到报表的详细资料处。
第四步:编写赋予报表生机的C#代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Windows.Forms;
using System.Data.SqlClient;
namespace CrystalReportsApplication1
{
public
partial class
Form1 : Form
{
publicForm1()
{
InitializeComponent();
}
privatevoid Form1_Load(objectsender,EventArgs e)
{
DataSet1 ds =new
DataSet1();
using (SqlConnectioncon =new
SqlConnection(“这里是连接字符串,自己自行添加自己实际的连接字符串”))
{
SqlDataAdapter da =new
SqlDataAdapter("select * from Student;", con);
da.TableMappings.Add("Table","Student");
da.Fill(ds);
CrystalReport1 cr1 =new
CrystalReport1();
cr1.SetDataSource(ds);
crystalReportViewer1.ReportSource = cr1;
}
}
}
}
第五步:修改app.config配置文件
修改后的代码如下:
<?xmlversion="1.0"encoding="utf-8"
?>
<configuration>
<configSections>
</configSections>
<startupuseLegacyV2RuntimeActivationPolicy="true"> //主要添加的部分
<supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.0"/>
</startup>
<connectionStrings>
<addname="CrystalReportsApplication1.Properties.Settings.ShareConnectionString"
connectionString="Data Source=zyjun-PC;Initial Catalog=Share;Persist SecurityInfo=True;User ID=sa;Password=123456"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
第六步:调试运行。效果图如下:
总结:分享快乐!
相关文章推荐
- 利用CrystalReport与C#生成报表(vs2010+sql2008)
- C#利用ReportViewer生成报表
- 利用reportviewer与C#生成报表
- 利用reportviewer与C#生成报表
- 利用reportviewer与C#生成报表
- 利用reportviewer与C#生成报表
- 利用reportviewer与C#生成报表
- 利用reportviewer与C#生成报表
- 利用reportviewer与C#生成报表
- (分享)利用reportviewer与C#一步一步生成报表
- 利用reportviewer与C#生成报表
- 利用MS Reporting Services与C#生成报表
- 利用c#+jquery+echarts生成统计报表(附源代码)
- C#利用OWC组件生成数据报表
- 利用c#+jquery+echarts生成统计报表(附源代码)
- 报表源代码 winform c# -基于DexExpressXtraReport的打印报表,后台生成报表,winform版本,采用C#语言封装,比金质通更强大,现在开放源代码 .
- 利用MS Reporting Services与C#生成报表
- 报表源代码 winform c# -基于DexExpressXtraReport的打印报表,后台生成报表,winform版本,采用C#语言封装,比金质通更强大,现在开放源代码 .
- C#利用OWC组件生成数据报表
- C#利用ZedDemo组件生成数据报表