日期:2014-05-20  浏览次数:20837 次

生成水晶报表的pdf文件速度太慢
用代码生成水晶报表的pdf文件,但是生成时的速度很慢,有没有什么好的方法能够提高生成的速度,
请给下详细的说明或代码
代码如下:
ReportDocument report = new ReportDocument();
url = Server.MapPath("../Report/xx.rpt");
report.Load(url);  
report.SetDatabaseLogon("名称", "密码");
url1 = Server.MapPath("../Report/报表.pdf");
report.ExportToDisk(ExportFormatType.PortableDocFormat, url1);
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.WriteFile(url1);
Response.Flush();
Response.Close();
report.Close();
report.Dispose();


------解决方案--------------------
这代码个没有可优化的地方了。

另:会不会慢在查询语句上,而不是报表?
你的SQL如果在查询分析器里要跑几秒?
------解决方案--------------------
探讨
代码中做了一次导出,然后又做了一次读取写入到浏览器。
其实可以合并为一个动作的, 这样会比你的代码快很多。



C# codeResponse.Clear();
Response.ContentType = "application/pdf";
report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "");
Response.Flush();