HTML5 JavaScript Report Viewer overview
The Report Viewer is a jQuery-based HTML5 JavaScript reporting component that displays SSRS, RDL, RDLC, and Bold Reports® Server reports directly inside web applications. It renders reports with or without connecting to SSRS or Bold Reports® Server, so you can add reporting to JavaScript web apps without depending on a dedicated report server.
This page introduces what the Report Viewer does, its core capabilities, and where to go next to add it to your JavaScript application.
What is the HTML5 JavaScript Report Viewer?
The Report Viewer is a client-side JavaScript widget built on jQuery. You embed it in an HTML page using standard jQuery widget syntax, bind it to a report definition (RDL or RDLC), and it handles rendering, pagination, and user interaction in the browser. Because it runs on jQuery, it fits directly into any JavaScript-based web application, and it also powers the framework-specific Report Viewer wrappers for Angular, React, Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, WPF, and UWP.
The Report Viewer works with data sources and parameters that you configure through the report definition, and it renders reports using all major capabilities of RDL reporting, including expressions, grouping, and interactive elements.
With the Report Viewer, you can
- Display RDL and RDLC reports in a browser using only client-side JavaScript and jQuery.
- Connect to SSRS or Bold Reports® Server, or render reports without a report server at all.
- Bind data sources and pass parameters to reports at run time.
- Export rendered reports to PDF, Excel, CSV, Word, PowerPoint, and HTML formats.
Key features
Interactive report rendering
- Drill down and drill through navigation.
- Hyperlink navigation within report content.
- Interactive sorting.
Customizable elements and events
- Customize each visual element of the Report Viewer.
- Hook into events for report-processing customization.
Multi-format export
- Export to PDF, Excel, CSV, Word, PowerPoint, and HTML.
- Take report output outside the browser in the format you need.
Broad framework support
- Available as jQuery widgets and as wrappers for Angular, React, Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, WPF, and UWP.
- Reuse reporting logic across different application stacks.
Common use cases
Embedding reports in JavaScript dashboards
- Add the Report Viewer to a jQuery or vanilla JavaScript dashboard.
- Display operational or business reports alongside other web content.
Reporting without a report server
- Render RDL or RDLC reports directly from your web application.
- Skip deploying or maintaining SSRS or Bold Reports® Server.
SSRS report migration to the web
- Display existing SSRS RDL reports inside a JavaScript web application.
- Give report consumers browser-based access without the SSRS web portal.
Self-service export workflows
- Let end users view a report interactively, then take it offline when they need to.
- Support sharing report output with people outside the application.
Who should use this guide?
This guide is intended for:
- JavaScript and jQuery developers adding reporting to a web application.
- Developers building on Angular, React, Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, WPF, or UWP who use the shared Report Viewer core.
- Report authors who need to know how their RDL/RDLC reports will render and export in a browser.
- Technical evaluators comparing JavaScript reporting components for a web project.
Prerequisites
Before you begin:
- A web application that can reference jQuery and the Report Viewer script and style files.
- An RDL or RDLC report to render, or access to SSRS/Bold Reports® Server if you plan to connect to one.
- Basic familiarity with JavaScript and jQuery widget initialization.
No server-side reporting engine is required to get started — the Report Viewer can render reports entirely client-side when you don’t use SSRS or Bold Reports® Server.
Considerations and limitations
- The Report Viewer targets RDL and RDLC report definitions; other report formats are not supported.
- Some interactive features, such as drill through and certain expressions, depend on how the underlying report is authored.
- Connecting to SSRS or Bold Reports® Server requires network access and valid credentials for that server.
- Export format availability can depend on the report content and the export configuration you apply.
FAQ
How do I display my first report in the Report Viewer?
Follow the step-by-step guide for displaying an SSRS RDL report in a JavaScript application, which walks through adding the Report Viewer script and style references and binding it to a report.
How do I pass parameter values to a report at run time?
Use the parameters property or set values through the Web API controller, as described in Report parameters.
Can I hide or customize the Report Viewer toolbar?
Yes. The toolbar exposes options you can show, hide, or rearrange. See Toolbar customization for the available options.
Are sample RDL and RDLC reports available for testing?
Yes. The Samples and demos page lists locally installed and online demo reports you can use while evaluating the Report Viewer.
What should I check if a report fails to render or export correctly?
Review the Limitations page for known constraints, and enable error logging to capture details that help identify the cause.
Getting help
If you run into issues while setting up or customizing the Report Viewer, check the how-to guides and FAQ pages linked below for solutions to common scenarios. For questions not covered in the documentation, you can reach the Bold Reports® support team or search the Bold Reports® community forums for related discussions.
Related articles
- Display SSRS RDL report in the JavaScript Report Viewer for a step-by-step setup walkthrough.
- Report Viewer how-to guides for solutions to common integration scenarios.
- Report Viewer frequently asked questions for answers to common jQuery and JavaScript questions.
- Working with report parameters to learn how to bind and pass parameter values at run time.
- Export report behavior and customization to configure which export formats are available to users.
- Samples and demos to explore working examples before you build your own.
- Limitations to review known constraints before relying on advanced report layouts.