一: 先跑下程序看下效果。
二:下面我就來一步一講解了。
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;
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;
}
{
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;
}
{
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);
}
{
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();
}
{
// 在這裡放置使用者程式碼以初始化網頁
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 設計工具產生的程式碼
}
}
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