[英]how to exort data from crystal report programatically with asp.net 4.0
i just want to export data from crystal report programatically. 我只想以编程方式从Crystal报表导出数据。 here is my code :
这是我的代码:
protected void ImageButton7_Click(object sender, ImageClickEventArgs e)
{
System.IO.MemoryStream oStream = new System.IO.MemoryStream();
if (DDL_ExportOption.SelectedItem.Value != "-1")
{
switch (DDL_ExportOption.SelectedItem.Value.ToString())
{
case "1":
oStream = (System.IO.MemoryStream)((CrystalDecisions.CrystalReports.Engine.ReportDocument)Session[strQueryString]).ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/pdf";
break;
case "2":
oStream = (System.IO.MemoryStream)((CrystalDecisions.CrystalReports.Engine.ReportDocument)Session[strQueryString]).ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
break;
case "3":
oStream = (System.IO.MemoryStream)((CrystalDecisions.CrystalReports.Engine.ReportDocument)Session[strQueryString]).ExportToStream(CrystalDecisions.Shared.ExportFormatType.WordForWindows);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/doc";
break;
}
//export format
try
{
Response.BinaryWrite(oStream.ToArray());
Response.End();
}
catch (Exception err)
{
Response.Write("< BR >");
Response.Write(err.Message.ToString());
}
}
}
but with lack of luck this not works. 但是由于运气不好,这是行不通的。 there is many problem that i faced doing work with crystal report
我在处理水晶报表时遇到很多问题
Try : 尝试:
cryRpt = new ReportDocument();
cryRpt.Load(Server.MapPath(RPTName));
cryRpt.SetDataSource(DT);
switch (DDL_ExportOption.SelectedItem.Value.ToString()) {
case 1
cryRpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, "ExportedReport");
case 2
cryRpt.ExportToHttpResponse(ExportFormatType.WordForWindows, Response, true, "ExportedReport");
case 3
ExportDataSetToExcel(DT, "ExportedReport");
}
and the function of exporting to excel : 以及导出到excel的功能:
public static void ExportDataSetToExcel(DataTable ds, string filename)
{
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Buffer = true;
response.Charset = "";
response.ContentType = "application/vnd.ms-excel";
using (StringWriter sw = new StringWriter()) {
using (HtmlTextWriter htw = new HtmlTextWriter(sw)) {
DataGrid dg = new DataGrid();
dg.DataSource = ds;
dg.DataBind();
dg.RenderControl(htw);
response.Charset = "UTF-8";
response.ContentEncoding = System.Text.Encoding.UTF8;
response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
response.Output.Write(sw.ToString());
response.End();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.