破晓之阳原创『水晶报表』之打印(xml)

一: 先跑下程序看下效果。

 二:下面我就来一步一讲解了。

1.新建一个项目,项目名i169_Web

2.新建一个WEB页面,名称为i169_web.aspx

3.新建一个dataset,名称为DataSet1.xsd

   在工具箱中把element控件拖放到主窗口中。进行如下设定:

保存。(记得一定要保存

4.新建一个水晶报表文件,名称为CR_i169.rpt,作为空白报表点确定。

  添加/删除数据库,选择刚开始我们创建的DataSet1.xsd,保存。(其实这个时候你可以把DataSet1.xsd文件删除掉。当然不删除也没关系。但是这个时候它已经是没用的东西)

5.回到刚开始我们创建的i169_web.aspx这个页面,双击进入代码页面。

添加命名空间

using  System.IO;
using  System.Data.SqlClient;
using  CrystalDecisions.CrystalReports.Engine;
using  CrystalDecisions.Shared;
using  System.Drawing.Printing; 

给报表文件创建一个实例

CR_i169 ReportDoc = new  CR_i169();

我们先添加一个返回表的方法

 

     private  DataTable CreateDataSource( )
        
{
            DataTable dt 
= new DataTable();
            DataRow dr;
            dt.Columns.Add(
new DataColumn("i169_01"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_02"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_03"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_04"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_05"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_06"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_07"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_08"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_09"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_10"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_11"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_12"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_13"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_14"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_15"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_16"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_17"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_18"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_19"typeof(string)));
            dr 
= dt.NewRow();
            
//            dr[0] = Session["i169_01"]+"";
            
//            dr[1] = Session["i169_02"]+"";
            
//            dr[2] = Session["i169_03"]+"";
            
//            dr[3] = Session["i169_04"]+"";
            
//            dr[4] = Session["i169_05"]+"";
            
//            dr[5] = Session["i169_06"]+"";
            
//            dr[6] = Session["i169_07"]+"";
            
//            dr[7] = Session["i169_08"]+"";
            
//            dr[8] = Session["i169_09"]+"";
            
//            dr[9] = Session["i169_10"]+"";
            
//            dr[10] = Session["i169_11"]+"";
            
//            dr[11] = Session["i169_12"]+"";
            
//            dr[12] = Session["i169_13"]+"";
            
//            dr[13] = Session["i169_14"]+"";
            
//            dr[14] = Session["i169_15"]+"";
            
//            dr[15] = Session["i169_16"]+"";
            
//            dr[16] = Session["i169_17"]+"";
            
//            dr[17] = Session["i169_18"]+"";
            
//            dr[18] = Session["i169_19"]+"";
            dr[0= "*"+"37343042"+"*";
            dr[
1= "37343042";
            dr[
2= "2007/08/24";
            dr[
3= "深圳龍華[布吉]站";
            dr[
4= "雷小姐";
            dr[
5= "5112008";
            dr[
6= "松井塑膠製品有限公司全域製造廠";
            dr[
7= "深圳市龍崗坪地鎮";
            dr[
8= "0755-4073767";
            dr[
9= "雷小姐";
            dr[
10= "5112008";
            dr[
11= "松井塑膠製品有限公司全域製造廠";
            dr[
12= "深圳市龍崗坪地鎮";
            dr[
13= "0755-4073767";
            dr[
14= "深圳龍華[布吉]站";
            dr[
15= "";
            dr[
16= "";
            dr[
17= "";
            dr[
18= "";
            dt.Rows.Add(dr);
            
return dt;
        }

再写一个报表绑定数据集的方法

 

         private   void  printers() 
        

            DataTable i169 
= CreateDataSource();
            DataSet ds
=new DataSet();
            ds.Tables.Add(i169); 
            ds.Tables[
0].TableName = "i169"
            ReportDoc 
= new CR_i169();            
            ReportDoc.SetDataSource(ds);
            
//this.CrystalReportViewer1.ReportSource=ReportDoc;
        }

再写一个转PDF的方法

 

         private   void  Pdf()
        
{
            
            
string sDestFile = Path.GetTempFileName();
            DiskFileDestinationOptions diskOpts 
= new DiskFileDestinationOptions();
            diskOpts.DiskFileName 
= sDestFile; 
            ReportDoc.ExportOptions.ExportDestinationType 
= ExportDestinationType.DiskFile;
            ReportDoc.ExportOptions.ExportFormatType 
= ExportFormatType.PortableDocFormat;
            ReportDoc.ExportOptions.DestinationOptions 
= diskOpts;
            ReportDoc.Export();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType 
= "application/pdf";
            Response.WriteFile(sDestFile);
            Response.Flush();
            Response.Close(); 
            File.Delete(sDestFile);
        }

最后在Page_Load写代码

 

         private   void  Page_Load( object  sender, System.EventArgs e)
        
{
            
// 在這裡放置使用者程式碼以初始化網頁
            printers();
            Pdf();
        }

而有关水晶报表里面的设定你看图:

完整代码如下:

 

using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;
using  System.IO;
using  System.Data.SqlClient;
using  CrystalDecisions.CrystalReports.Engine;
using  CrystalDecisions.Shared;
using  System.Drawing.Printing; 

namespace  i169_Web
{
    
/// <summary>
    
/// WebForm1 的摘要描述。
    
/// </summary>

    public class WebForm1 : System.Web.UI.Page
    
{
        CR_i169 ReportDoc
=new CR_i169();
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在這裡放置使用者程式碼以初始化網頁
            printers();
            Pdf();
        }

        
private void Pdf()
        
{
            
            
string sDestFile = Path.GetTempFileName();
            DiskFileDestinationOptions diskOpts 
= new DiskFileDestinationOptions();
            diskOpts.DiskFileName 
= sDestFile; 
            ReportDoc.ExportOptions.ExportDestinationType 
= ExportDestinationType.DiskFile;
            ReportDoc.ExportOptions.ExportFormatType 
= ExportFormatType.PortableDocFormat;
            ReportDoc.ExportOptions.DestinationOptions 
= diskOpts;
            ReportDoc.Export();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType 
= "application/pdf";
            Response.WriteFile(sDestFile);
            Response.Flush();
            Response.Close(); 
            File.Delete(sDestFile);
        }

        
private void printers() 
        

            DataTable i169 
= CreateDataSource();
            DataSet ds
=new DataSet();
            ds.Tables.Add(i169); 
            ds.Tables[
0].TableName = "i169"
            ReportDoc 
= new CR_i169();            
            ReportDoc.SetDataSource(ds);
            
//this.CrystalReportViewer1.ReportSource=ReportDoc;
        }

        
private DataTable CreateDataSource( )
        
{
            DataTable dt 
= new DataTable();
            DataRow dr;
            dt.Columns.Add(
new DataColumn("i169_01"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_02"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_03"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_04"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_05"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_06"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_07"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_08"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_09"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_10"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_11"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_12"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_13"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_14"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_15"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_16"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_17"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_18"typeof(string)));
            dt.Columns.Add(
new DataColumn("i169_19"typeof(string)));
            dr 
= dt.NewRow();
            
//            dr[0] = Session["i169_01"]+"";
            
//            dr[1] = Session["i169_02"]+"";
            
//            dr[2] = Session["i169_03"]+"";
            
//            dr[3] = Session["i169_04"]+"";
            
//            dr[4] = Session["i169_05"]+"";
            
//            dr[5] = Session["i169_06"]+"";
            
//            dr[6] = Session["i169_07"]+"";
            
//            dr[7] = Session["i169_08"]+"";
            
//            dr[8] = Session["i169_09"]+"";
            
//            dr[9] = Session["i169_10"]+"";
            
//            dr[10] = Session["i169_11"]+"";
            
//            dr[11] = Session["i169_12"]+"";
            
//            dr[12] = Session["i169_13"]+"";
            
//            dr[13] = Session["i169_14"]+"";
            
//            dr[14] = Session["i169_15"]+"";
            
//            dr[15] = Session["i169_16"]+"";
            
//            dr[16] = Session["i169_17"]+"";
            
//            dr[17] = Session["i169_18"]+"";
            
//            dr[18] = Session["i169_19"]+"";
            dr[0= "*"+"37343042"+"*";
            dr[
1= "37343042";
            dr[
2= "2007/08/24";
            dr[
3= "深圳龍華[布吉]站";
            dr[
4= "雷小姐";
            dr[
5= "5112008";
            dr[
6= "松井塑膠製品有限公司全域製造廠";
            dr[
7= "深圳市龍崗坪地鎮";
            dr[
8= "0755-4073767";
            dr[
9= "雷小姐";
            dr[
10= "5112008";
            dr[
11= "松井塑膠製品有限公司全域製造廠";
            dr[
12= "深圳市龍崗坪地鎮";
            dr[
13= "0755-4073767";
            dr[
14= "深圳龍華[布吉]站";
            dr[
15= "";
            dr[
16= "";
            dr[
17= "";
            dr[
18= "";
            dt.Rows.Add(dr);
            
return dt;
        }


        
Web Form 設計工具產生的程式碼

    }

}


                                                                                                                                            -----破晓之阳原创

                                                                                                                                                      2007/08/25

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值