200分跪求水晶报表打印问题!
水晶报表导出到Excel,我已成功,但是接下来,打印要怎么写?
我导出后会生成一个asp.xls的文件,
如何调用并打印,这一切要在后台进行,不能让用户看到和发觉导出和打印的过程!
请详细说明,在线等。今天之内结贴!
我的程序如下:请高手在此基础上修改,如有更好方法,可以加分都没问题!
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.Data.SqlClient;//
using CrystalDecisions.CrystalReports.Engine;//
using CrystalDecisions.Shared;//
namespace Web
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
try
{
string filename;
ReportDocument CrReportDocument=new ReportDocument();
CrReportDocument.Load(Server.MapPath("CrystalReport1.rpt"));
filename=Server.MapPath("asp.XLS");
//***************************************************************************************
CrystalReport1 oRpt=new CrystalReport1();
DataSet1 ds = new DataSet1();
SqlConnection myConn=new SqlConnection("server=Localhost;uid=sa;pwd=sql;database=sqly92");
string strSql = "select * from tt_order0";
myConn.Open();//显式打开
SqlDataAdapter myDa=new SqlDataAdapter(strSql,myConn);
myDa.Fill(ds,"tt_order0");
oRpt.SetDataSource(ds);
//CrystalReportViewer1.ReportSource = oRpt;//显示报表
//***************************************************************************************
CrReportDocument.SetDataSource(ds);
DiskFileDestinationOptions CrDiskFileDestinationOptions=new DiskFileDestinationOptions();
ExportOptions CrExportOptions=new ExportOptions();
CrDiskFileDestinationOptions.DiskFileName=filename;
CrExportOptions=CrReportDocument.ExportOptions;
CrExportOptions.DestinationOptions=CrDiskFileDestinationOptions;
CrExportOptions.ExportDestinationType=ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType=ExportFormatType.Excel;
CrReportDocument.Export();
//把转换的文件送到客户端
//Response.ContentType="Application/xls";
//Response.WriteFile("asp.XLS",true);
//Response.End();
myConn.Close();//显式关闭
Response.Write("<script language=javascript>alert('" + "成功写入" + "');</script>");
}
catch(Exception ex)
{
Response.Write("<script language=javascript>alert('" + ex.Message + "');</script>");
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}