Exporting SSRS Report to PDF in MVC Action

2019-02-07 06:46发布

Yes , I want to Export SSRS Report to the PDF and Return it from my action, I do not have any Report Viewer.Please Suggest me how can i achieve this. so far i have done this

    public void SqlServerReport()
    {
        NetworkCredential nwc = new NetworkCredential("username", "password", "domain");
        WebClient client = new WebClient();
        client.Credentials = nwc;
        string reportURL = "http://servername/ReportServer/reportfolder/StateReport&rs:Command=Render&rs:Format=PDF";
        Byte[] pageData = client.DownloadData(reportURL);
        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now);
        Response.BinaryWrite(pageData);
        Response.Flush();
        Response.End();
    }

Above code throws an exception

"The remote server returned an error: (401) Unauthorized."

My Questions are
1) Am i going in right direction?
2) Is There any Better Alternative to achieve this ?

2条回答
Evening l夕情丶
2楼-- · 2019-02-07 07:24

try not specify the domain like this:

NetworkCredential nwc = new NetworkCredential("username", "password");
查看更多
聊天终结者
3楼-- · 2019-02-07 07:40

I Corrected the Above Code and now its Working

    public ActionResult GetPdfReport()
    {
        NetworkCredential nwc = new NetworkCredential("username", "password");
        WebClient client = new WebClient();
        client.Credentials = nwc;
        string reportURL = "http://someIp/ReportServer/?%2fReportProjectName/ReportName&rs:Command=Render&rs:Format=PDF";
        return File(client.DownloadData(reportURL), "application/pdf");
    }

i do not found any other alternative than this to export SSRS Report in MVC without using ReportViewer.

查看更多
登录 后发表回答