gpt4 book ai didi

asp.net - 报告服务 : Get the PDF of a generated report

转载 作者:行者123 更新时间:2023-12-03 21:42:09 25 4
gpt4 key购买 nike

我有一个报告服务服务器,它已经有一些正在运行的报告,我现在需要通过自定义网站(运行 asp.net MVC3)生成它们。

我需要将此报告作为流/字节检索以将其发送给用户。没有“报告查看器”左右。

我上次使用报告服务时使用的是 sql 2005,我们应该将一个晦涩的 asmx 文件作为引用。

sql server 报告 2008 R2、.Net4 和 Visual Studio 2010 现在怎么样了?我找不到解释整个事情的教程。

(事实上​​,我找不到没有 sql 2008 r2 报告查看器的教程)

最佳答案

MSDN 提供了几种方法.我用过 URL access通常用于 ASP .NET 应用程序中的快速简单 PDF 按钮。

这是执行此操作的快速破解代码。可以清理它以使用集成身份验证,并且可以通过多种方式存储报告名称。 (我从我拥有的一些旧代码中剪切并粘贴了这个,这些代码将报告存储到数据库,然后可以从数据库中返回它。

// First read in the report into memory.

string strReportUser = "RSUserName";
string strReportUserPW = "MySecretPassword";
string strReportUserDomain = "DomainName";

string sTargetURL = "http://SqlServer/ReportServer?" +
"/MyReportFolder/Report1&rs:Command=Render&rs:format=PDF&ReportParam=" +
ParamValue;

HttpWebRequest req =
(HttpWebRequest)WebRequest.Create( sTargetURL );
req.PreAuthenticate = true;
req.Credentials = new System.Net.NetworkCredential(
strReportUser,
strReportUserPW,
strReportUserDomain );

HttpWebResponse HttpWResp = (HttpWebResponse)req.GetResponse();

Stream fStream = HttpWResp.GetResponseStream();




//Now turn around and send this as the response..
byte[] fileBytes = ReadFully( fStream );
// Could save to a database or file here as well.

Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader(
"content-disposition",
"attachment; filename=\"Report For " +
ParamValue + ".pdf\"" );
Response.BinaryWrite( fileBytes );
Response.Flush();
HttpWResp.Close();
Response.End();

阅读全文是
public static byte[] ReadFully( Stream input )
{
using ( MemoryStream ms = new MemoryStream() )
{
input.CopyTo( ms );
return ms.ToArray();
}
}

关于asp.net - 报告服务 : Get the PDF of a generated report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10898999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com