Welcome to Seal Report
Seal Report offers a complete framework for producing daily reports and dashboards from any database or any No SQL source.
The product focuses on easy installation and report design: Once setup, reports can be built and published in a minute.
Seal Report is an Open Source tool for the Microsoft .Net Framework entirely written in C#.
- Dynamic SQL sources: Use either your SQL or let the Seal engine build dynamically the SQL used to query your database.
- LINQ queries: Join and query any Data Sources (SQL, Excel, XML, Olap Cube, HTTP JSon, etc.) with the power of LINQ queries.
- Native Pivot Tables: Simply drag and drop elements directly in a pivot table (Cross Tab) and display them in your report.
- HTML 5 Charts: Define and display Chart Series in two mouse clicks (Support of ChartJS, NVD3 and Plotly libraries).
- Fully Responsive and HTML Rendering using Razor engine: Use the power of HTML5 in the report result (Bootstrap layout, Responsiveness, Tables sorting and filtering). Customize your report presentation in HTML with the Razor engine parsing.
- Web Report Server: Publish and edit your reports on the web (Support of Windows and Linux OS with .NET Core).
- Report scheduler: Schedule your report executions and generate results in folders, FTP, SFTP server or send them by emails (integrated with the Windows Tasks Scheduler or available as a service).
- Drill Down navigation and Sub Reports: Navigate in your report result to drill to a detail or to execute another report.
- Dashboards View: Display your KPIs or published Widgets in a single view.
- Report Tasks: Define tasks to perform your batch operations (data load, excel load, backup, data processing, etc.) or to trigger procedures from external assemblies.
- No SQL Data Sources: Fill up your source Data Tables from your own code and display them in a report.
- Low TCO (total cost of ownership): The product is designed for minimal ongoing maintenance.
Live DemonstrationA live demonstration of the Web Report Server is available at SealReport.org/demo.
Seal Report ForumUse the Seal Report Forum to get free support, information and hints on the product, or read the Wiki for technical documentation.
Requirements and License
- Windows 7, 2008, Windows 8, 2012, Windows 10 or greater
- .Net Framework 4.7.2
- Database OLE DB, ODBC or MS SQLServer Drivers
- For the Web Report Server: Internet Information Server with Application Development/ASP.Net 4.5 or greater
- .NET Core 3.1 for the .NET Core deployment (Web Report Server and the Seal Report Scheduler).
- Visual Studio 2019 or greater
Seal Report is licensed under the Apache License, Version 2.0
Installation and Compilation
DownloadGet the last product releases and source codes at Github.
Just run the setup executable file to install Seal Report on your computer.
The setup will install the Report Designer, the Server Manager, the Seal Scheduler Service and the Task Scheduler with a default repository.
All executables, libraries and configuration files are installed by default in C:\Program Files\Seal Report.
All repository files are installed by default in C:\ProgramData\Seal Report Repository.
Web Report Server Distribution:
Two sub-folders C:\Program Files\Seal Report\Web.Net and C:\Program Files\Seal Report\NETCore contain the files required to publish the Web Report Server (and the Seal Report Scheduler for .NET Core).
To publish the Web Report Server on Linux or Azure,
Using Visual Studio, open the solution file Seal.sln located at the root directory.
The solution contains the following projects:
- SealLibrary: Main library shared by all the executables. This library contains the main classes in the Model sub-folder (like Report, MetaTable, Restriction, Task, etc.) plus some helpers.
- SealReportDesigner: Report Designer executable.
- SealServerManager: Server Manager executable.
- SealTaskScheduler: Console application invoked by the Windows Task Scheduler to execute report in batch.
- SealWebServer: Asp.Net application for Web Report Server.
- SealSchedulerService: Seal Report Scheduler executable for the Windows Service.
- TestsAndSamples: Contains unitary tests and basic samples.
- Seal.NETCoreSync: Utility to synchronize the code sources of the .NET Core projects.
- SealDocumentation: sealreport.org Web site.
The Seal.NETCore.sln contains projects dedicated to NETCore.
Most of the source code files are overwritten by the previous Seal.NETCoreSync project and should never be edited.
The solution contains the following projects:
- SealLibrary: Main library shared by all the executables compiled for .NET Core.
- SealSchedulerService: Seal Report Scheduler executable for the .NET Core Worker Service.
- SealWebServer.NETCore: Asp.Net Core application for Web Report Server.
NuGet Packages for SealLibraryTwo NuGet packages are published to ease the Seal Report integration into your own .Net or .NET Core projects: SealReportLibrary.Net and SealReportLibrary.NETCore.
Entities and components
Features by distribution
|Platform||Server Manager||Report Designer||Task Scheduler||Scheduler Service||Web Report Server||Web Report Designer1||Dashboard Manager1||PDF and Excel Converter2|
Deployment and publication
Main Entities: Repository and Reports
The Seal Repository stores all the entities managed by Seal Report: Data Sources, Devices, Reports and Dashboards.
In addition, the repository contains extra folders for the Settings (configuration and dictionary for translations), the Views (used to render report result), the Security (configuration and providers).
By default, the repository root folder is located in "C:\ProgramData\Seal Report Repository".
A report is composed of Data Sources, Models, Views and optional Tasks, Outputs and Schedules. The report may also reference Views Templates located in the repository.
- Data Sources contain the descriptions of database connections, tables, joins and columns.
- Models define how to generate the ResultSet (Data Table) and Series from a single SQL Statement.
- The Views are used to generate a HTML document from the Models using Razor parsing and rendering.
- Output and Schedule can be defined to automate report generation (e.g. Sending an Email every morning).
- Tasks may be defined to perform SQL or Script tasks.
- Dashboards offer a view of widgets published in different reports.
Seal Report is composed of the Server Manager application, the Report Designer application, the Web Report Server, the Task Scheduler and the Seal Report Scheduler.
- The Server Manager (a Windows application) edits repository Data Sources, Devices and is used to perform administrative tasks (checking sources and reports, publishing web site, configuring the server, editing the security, etc.).
- The Report Designer (a Windows application) creates, edits and executes reports.
- The Web Report Server (an ASP.Net or .NET Core Web application) allows the end-users to edit and execute the reports and dashboards published from the Web.
- The Task Scheduler (a console application) is invoked by the Windows Task Scheduler to schedule report execution on a Device (folder or email).
- The Seal Report Scheduler (a Windows Service application or .NET Core Worker Service) to execute the report schedules defined in the repository (folder, file server or email).
Several sub-folders are located from the Repository Root folder. These folders contain all files necessary to run Seal Report.
- Assemblies: additional DLL (*.dll) that can be referenced in all Razor scripts. You can add your own assemblies in this folder and call them from any script compiled and executed during a report execution (e.g. in a Task).
- Dashboards: dashboards files(*.sdax) edited and published by the Web Report Server.
- Databases: dedicated folder for local database files (e.g. an MS Access file, an Excel file).
- Devices: the device configurations (*.scfx) used by the report output. 3 types of devices are available: Folder, File Server (FTP, SFTP), Email to send it to a user by SMTP.
- Logs: the daily log files (*.txt). All events, executions and schedules messages are logged in a daily file (files are auto-purged).
- Reports: the reports (*.srex), files and sub-folders published by the Web Report Server. The Reports root folder is the parent of all folders, files and reports published.
- Security: the security defined for the Web Report Server (Security.xml) and a sub-folder containing the security providers (*.cshtml) available.
- Settings: the Server configuration (Configuration.xml) and the translation files (*.csv).
- Sources: the data source files (*.scfx) available for the reports. These data sources are shared amongst all the reports.
- Sources\TableTemplates: table templates (*.cshtml) referenced by No SQL tables defined in LINQ Data Sources.
- SpecialFolders\Personal: dedicated folder to store personal folders for each user. The folder contains reports, dashboards, files and the user's profile (_profile.xml).
- SpecialFolders\Schedules: report schedules (*.xml) when the Seal Report Scheduler is used. One file per schedule.
- SubReports: the sub-reports (*.srex) referenced by an element in a data source. Sub-Reports allow master-detail navigation from a report result.
Support: Need help ?
The product aims to be self-documented as a description is displayed for every field edited with the Report Designer or the Server Manager.
Use the Seal Report Forum to get free support, information and hints for the product.
Feel free to post your questions, comments or answers...
Consulting and Components: Get State of the Art HelpIf you need professional consulting, trainings or workshops, please contact Ariacom.
In addition to the open source version of the Web Report Server, a Web Report Designer is available to edit and schedule your reports and to design your dashboards from any Web browser.
The company also offers a PDF and Excel Converter component to generate PDF Documents and native Excel Workbooks directly from your Seal reports.
GitHub SponsorIf you are using Seal Report in a business application, please consider to sponsor the product at GitHub.
This will help to insure its maintenance, quality and independence.
- Bootstrap 3 for the Web Report Server and report rendering
- Razor engine for the rendering and dynamic options
- ChartJS for the charts JS
- ChartJS Labels Plugin for the charts JS Labels
- NVD3 for the NVD3 charts
- Plotly for the Plotly charts
- ScintillaNET for the source code editor
- Dynamic Properties for PropertyGrid helpers
- Scheduler Managed Wrapper for the report schedules editor
- Data Tables to enhance HTML tables
- Datetime Picker component for the report restrictions
- Multiple Select component for the report restrictions
- Fluent FTP library for Output File Server with the FTP protocol
- SS.NET library for Output File Server with the SFTP and SCP protocol
- SharpZipLib to Zip report result files
- EPPlus to process Excel source files
- InnoSetup for the setup
- Yet Another Forum (YAF) for the forum
- Muuri for the Dashboard layout
- Sand Castle Help File Builder for the documentation generation
Contribute to Seal Report
Enhance the documentation and samplesWant to share your experience or to add a new topic ? Something is not clear in the documentation ? Do you have an interesting recipe ?
As the site for the documentation is part of the solution, you are welcome to Pull a Request at GitHub.
Add translation filesDo you have a translation file not yet supported by Seal Report ?
As the translations are part of the project, feel free to Pull a Request at GitHub.
And more...You are also welcome to help us in several different areas:
- Beta testing.
- Libraries of Data Sources and Reports on standard databases.
- Additional View templates.
- New features development.