| ActiveReports 8 > ActiveReports User Guide > Samples and Walkthroughs > Walkthroughs > Page Report Walkthroughs > Export > Custom Web Exporting in a Page Report |
ActiveReports provides components that allow you to export your reports into several popular formats like PDF, HTML, Excel, Image and Word.
The walkthrough is split up into the following activities:
To add an ActiveReport to the Visual Studio project
GrapeCity.ActiveReports.Export.Pdf.v8
GrapeCity.ActiveReports.Export.Html.v8
GrapeCity.ActiveReports.Export.Excel.v8
GrapeCity.ActiveReports.Export.Word.v8
GrapeCity.ActiveReports.Export.Image.v8See Adding an ActiveReport to a Project for information on adding different report layouts.
To add code to the Web Form to create the PDF Export object and export a report
To write the code in Visual Basic.NET
| Visual Basic.NET code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
Dim _reportDef As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(Server.MapPath("") + "\CustomWebExporting.rdlx"))
Dim _reportRuntime As New GrapeCity.ActiveReports.Document.PageDocument(_reportDef)
'Set the rendering extension and render the report.
Dim _renderingExtension As New GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension()
Dim _provider As New GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider()
_reportRuntime.Render(_renderingExtension, _provider)
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "inline;filename=MyExport.pdf")
Dim ms As New System.IO.MemoryStream()
CType(_provider.GetPrimaryStream().OpenStream(), System.IO.MemoryStream).WriteTo(ms)
Response.BinaryWrite(ms.ToArray())
Response.End()
|
|
To write the code in C#
| C# code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("") + "\\CustomWebExporting.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension _renderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider _provider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
_reportRuntime.Render(_renderingExtension, _provider);
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline;filename=MyExport.pdf");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
_provider.GetPrimaryStream().OpenStream().CopyTo(ms);
Response.BinaryWrite(ms.ToArray());
Response.End();
|
|
![]() |
Note: To use the one-touch printing option, add the following to the code above.
|
||||||||
![]() |
Warning: You need to manually license your application in order to use PDF export. |
To add code to the Web Form to create the HTML Export object and export a report
To write the code in Visual Basic.NET
| Visual Basic.NET code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
Dim _reportDef As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(Server.MapPath("") + "\CustomWebExporting.rdlx"))
Dim _reportRuntime As New GrapeCity.ActiveReports.Document.PageDocument(_reportDef)
' Set the rendering extension and render the report.
Dim _renderingExtension As New GrapeCity.ActiveReports.Export.Html.Page.HtmlRenderingExtension()
Dim _provider As New GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider()
Dim s As New GrapeCity.ActiveReports.Export.Html.Page.Settings()
s.Mode = GrapeCity.ActiveReports.Export.Html.Page.RenderMode.Galley
s.MhtOutput = True
_reportRuntime.Render(_renderingExtension, _provider, s)
Response.ContentType = "message/rfc822"
Response.AddHeader("content-disposition", "inline;filename=MyExport.mht")
Dim ms As New System.IO.MemoryStream()
CType(_provider.GetPrimaryStream().OpenStream(), System.IO.MemoryStream).WriteTo(ms)
Response.BinaryWrite(ms.ToArray())
Response.End()
|
|
To write the code in C#
| C# code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("") + "\\CustomWebExporting.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Html.Page.HtmlRenderingExtension _renderingExtension = new GrapeCity.ActiveReports.Export.Html.Page.HtmlRenderingExtension();
|
|
To add code to the Web Form to create the Excel Export object and export a report
![]() |
Note: Convert your report layout to CPL in order to render it to an Excel format. |
To write the code in Visual Basic.NET
| Visual Basic.NET code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
Dim _reportDef As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(Server.MapPath("") + "\CustomWebExporting.rdlx"))
Dim _reportRuntime As New GrapeCity.ActiveReports.Document.PageDocument(_reportDef)
' Set the rendering extension and render the report.
Dim _renderingExtension As New GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice()
Dim _provider As New GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider()
Dim s As New GrapeCity.ActiveReports.Export.Excel.Page.Settings()
s.ProtectWorkbookPassword = 123
_reportRuntime.Render(_renderingExtension, _provider, s)
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("content-disposition", "inline;filename=MyExport.xls")
Dim ms As New System.IO.MemoryStream()
CType(_provider.GetPrimaryStream().OpenStream(), System.IO.MemoryStream).WriteTo(ms)
Response.BinaryWrite(ms.ToArray())
Response.End()
|
|
To write the code in C#
| C# code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("") + "\\CustomWebExporting.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice _renderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice();
GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider _provider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
GrapeCity.ActiveReports.Export.Excel.Page.Settings s = new GrapeCity.ActiveReports.Export.Excel.Page.Settings();
s.ProtectWorkbookPassword = "123";
_reportRuntime.Render(_renderingExtension, _provider, s);
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "inline;filename=MyExport.xls");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
_provider.GetPrimaryStream().OpenStream().CopyTo(ms);
Response.BinaryWrite(ms.ToArray());
Response.End();
|
|
To add code to the Web Form to create the Word Export object and export a report
To write the code in Visual Basic.NET
| Visual Basic.NET code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
Dim _reportDef As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(Server.MapPath("") + "\CustomWebExporting.rdlx"))
Dim _reportRuntime As New GrapeCity.ActiveReports.Document.PageDocument(_reportDef)
' Set the rendering extension and render the report.
Dim _renderingExtension As New GrapeCity.ActiveReports.Export.Word.Page.WordRenderingExtension()
Dim _provider As New GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider()
Dim s As New GrapeCity.ActiveReports.Export.Word.Page.Settings()
s.UseMhtOutput = True
_reportRuntime.Render(_renderingExtension, _provider, s)
Response.ContentType = "application/msword"
Response.AddHeader("content-disposition", "inline;filename=MyExport.doc")
Dim ms As New System.IO.MemoryStream()
CType(_provider.GetPrimaryStream().OpenStream(), System.IO.MemoryStream).WriteTo(ms)
Response.BinaryWrite(ms.ToArray())
Response.End()
|
|
To write the code in C#
| C# code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("") + "\\CustomWebExporting.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Word.Page.WordRenderingExtension _renderingExtension = new GrapeCity.ActiveReports.Export.Word.Page.WordRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider _provider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
GrapeCity.ActiveReports.Export.Word.Page.Settings s = new GrapeCity.ActiveReports.Export.Word.Page.Settings();
s.UseMhtOutput = true;
_reportRuntime.Render(_renderingExtension, _provider, s);
Response.ContentType = "application/msword";
Response.AddHeader("content-disposition", "inline;filename=MyExport.doc");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
_provider.GetPrimaryStream().OpenStream().CopyTo(ms);
Response.BinaryWrite(ms.ToArray());
Response.End();
|
|
To add code to the Web Form to create the Image Export object and export a report
To write the code in Visual Basic.NET
| Visual Basic.NET code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
Dim _reportDef As New GrapeCity.ActiveReports.PageReport(New System.IO.FileInfo(Server.MapPath("") + "\CustomWebExporting.rdlx"))
Dim _reportRuntime As New GrapeCity.ActiveReports.Document.PageDocument(_reportDef)
' Set the rendering extension and render the report.
Dim _renderingExtension As New GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension()
Dim _provider As New GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider()
Dim s As New GrapeCity.ActiveReports.Export.Image.Page.Settings()
s.ImageType = GrapeCity.ActiveReports.Export.Image.Page.Renderers.ImageType.JPEG
_reportRuntime.Render(_renderingExtension, _provider, s)
Response.ContentType = "image/jpeg"
Response.AddHeader("content-disposition", "inline;filename=MyExport.jpg")
Dim ms As New System.IO.MemoryStream()
' Get the first page of the report
CType(_provider.GetSecondaryStreams()(0).OpenStream(), System.IO.MemoryStream).WriteTo(ms)
Response.BinaryWrite(ms.ToArray())
Response.End()
|
|
To write the code in C#
| C# code. Paste INSIDE the Page Load event. |
Copy Code
|
|---|---|
GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("") + "\\CustomWebExporting.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension _renderingExtension = new GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider _provider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
GrapeCity.ActiveReports.Export.Image.Page.Settings s = new GrapeCity.ActiveReports.Export.Image.Page.Settings();
s.ImageType = GrapeCity.ActiveReports.Export.Image.Page.Renderers.ImageType.JPEG;
_reportRuntime.Render(_renderingExtension, _provider, s);
Response.ContentType = "image/jpeg";
Response.AddHeader("content-disposition", "inline;filename=MyExport.jpg");
System.IO.MemoryStream ms = new System.IO.MemoryStream();
// Get the first page of the report
_provider.GetSecondaryStreams()[0].OpenStream().CopyTo(ms);
Response.BinaryWrite(ms.ToArray());
Response.End();
|
|
To run the project
Press F5 to run the project.
Show All
Hide All