Create a report from following post
http://ssrsmegabits.blogspot.in/2015/06/ssrs-report-in-aspnet-example.html
Now we will update above solution for Print SSRS reports using JavaScript and Export it in PDF Format.
Design:
http://ssrsmegabits.blogspot.in/2015/06/ssrs-report-in-aspnet-example.html
Now we will update above solution for Print SSRS reports using JavaScript and Export it in PDF Format.
Design:
<div id="result"></div>
<div id="content">
<input id="btnPrint"
type="button"
value="Print
Report" onclick="PrintReport();" />
<asp:Button ID="btnExportPDF"
runat="server"
Text="PDF"
onclick="btnExportPDF_Click"
/>
<rsweb:ReportViewer Width="100%" ShowToolBar="false" ID="rptvMyReport" runat="server" AsyncRendering="false">
</rsweb:ReportViewer>
</div>
Here we have two div with id 'result' and 'content'.
In result div we will copy the content div in the print format and call print method in javascript.
One button added for export report in PDF Format.
javascript Code:
This code for Print ssrs report.
<script type="text/javascript">
function PrintReport() {
var viewerReference = $find('<%=rptvMyReport.ClientID%>');
$('#result').empty();
var stillonLoadState =
viewerReference.get_isLoading();
if (!stillonLoadState) {
var reportArea =
viewerReference.get_reportAreaContentType();
if (reportArea ==
Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
$('#rptvMyReport').clone().prependTo("#result");
//copy reportviewer report in div
$('#content').hide();
$('#result').show();
//hide reportviewer containing div and show copied div
window.print();
//Open Print dialog
$('#content').show();
$('#result').hide();
//Reset
}
}
}
</script>
Now we will added this code in code behind to get SSRS report in PDF Format.
protected void
btnExportPDF_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamIds;
string mimeType = string.Empty;
string encoding = string.Empty;
string extension = string.Empty;
string Title = "UserList
" + Convert.ToString(DateTime.Now);
byte[] bytes = rptvMyReport.LocalReport.Render("PDF", null,
out mimeType, out
encoding, out extension, out streamIds, out
warnings);
Response.Buffer = true;
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("content-disposition",
"attachment; filename=" + Title + "." + extension);
Response.BinaryWrite(bytes); // create the
file
Response.Flush();
}
Note : If you want to get report in WORD and EXCEL format then update it as following.
For Excel:
byte[] bytes = rptvMyReport.LocalReport.Render("EXCEL", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
For Word:
byte[] bytes = rptvMyReport.LocalReport.Render("WORD", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
Note : If you want to get report in WORD and EXCEL format then update it as following.
For Excel:
byte[] bytes = rptvMyReport.LocalReport.Render("EXCEL", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
For Word:
byte[] bytes = rptvMyReport.LocalReport.Render("WORD", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
Now check the output, you will get the print and export working in ASP.NET.
No comments:
Post a Comment