Stimulsoft Reports
Reporting-Tool für Angular
Ein Berichtsgenerator, der speziell für das Angular-Framework entwickelt wurde. Die Client-Komponente ist mit allen aktiv unterstützten Angular-Versionen vollständig kompatibel und bietet alle notwendigen Werkzeuge zum Erstellen, Bearbeiten, Anzeigen und Exportieren von Berichten. Die Serverseite basiert auf .NET Framework 4.7.2, .NET 6, .NET 8, .NET 10 sowie Java.Angular-native Reporting
Erstellen Sie professionelle Berichte und Dashboards für Ihre Angular-Anwendungen. Der flexible Generator von Stimulsoft ermöglicht die Visualisierung von Daten, Berechnungen, Gruppierungen und Sortierungen sowie die individuelle Gestaltung von Dokumenten.Loading...
Client-Seite-Installation
Schnellstart in wenigen Minuten und mit nur wenigen Codezeilen. Laden Sie die npm-Pakete und integrieren Sie einen Berichtsgenerator für Angular mühelos in Ihre Anwendung. Erstellen, anzeigen und exportieren Sie interaktive Berichte mit einem leistungsstarken Berichtsdesigner und Komponenten zur Datenvisualisierung. bash
npm install stimulsoft-viewer-angular
npm install stimulsoft-designer-angular
Server-Seite-Installation
Schnelle serverseitige Einrichtung für Ihre Anwendung. Installieren Sie das benötigte Paket und fügen Sie einige Codezeilen hinzu, um den Controller zu konfigurieren. Die Serverseite basiert auf ASP.NET MVC, .NET oder Java und bietet die volle Funktionalität der Berichts-Engine. bash
dotnet add package Stimulsoft.Reports.Angular
Berichte anzeigen
Betten Sie fertige Berichte direkt in Ihre Angular-Anwendung ein – mit einem speziellen Viewer. Diese Komponente integriert sich vollständig in die Ökosystem des Frameworks und sorgt für eine schnelle und bequeme Anzeige von Dokumenten ohne Seitenneuladung. Anwender erhalten Zugriff auf interaktive Ansicht, Suche im Inhalt und Zoom – alles in einer einheitlichen Oberfläche, die sich nahtlos in Ihre Anwendung einfügt, für eine effiziente Arbeit mit Berichten und Datenvisualisierung. app.component.html
<stimulsoft-viewer-angular
[requestUrl]="'http://localhost:60801/Viewer/{action}'"
[action]="'InitViewer'"
[height]="'100vh'">
</stimulsoft-viewer-angular>
Berichte exportieren
Exportieren Sie fertige Berichte in die gängigsten Formate: PDF, Excel, Word, HTML, CSV, XML, JSON, RTF, OpenDocument und Textdateien. Die flexiblen Exportwerkzeuge, die in die Angular-Komponenten von Stimulsoft integriert sind, ermöglichen eine einfache Einbindung des Datenexports in beliebige Geschäftsprozesse. Konfigurieren Sie die Exportoptionen – Seitenauswahl, Ausrichtung, Komprimierung – und erhalten Sie das gewünschte Ergebnis ohne unnötigen Aufwand. app.component.html
<input
type="button"
(click)="viewer.api.export('Pdf', { ImageResolution: 200 })"
value="Export to PDF"
/>
<stimulsoft-viewer-angular
#viewer
[requestUrl]="'http://localhost:60801/Viewer/{action}'"
[action]="'InitViewer'"
[height]="'100vh'">
</stimulsoft-viewer-angular>
Berichte erstellen
Berichte aus Code – Einfachheit in jedem Detail. Integrieren Sie die Berichtserstellung in Ihre Anwendung: Nutzen Sie vertrautes C# oder JavaScript, um Daten anzubinden, Layouts zu konfigurieren und Ergebnisse in PDF, Excel, Word und andere Formate zu exportieren. app.component.html
<stimulsoft-designer-angular
#designer
*ngIf="!showViewer"
[requestUrl]="'http://localhost:60801/api/designer'"
[height]="'100%'"
[width]="'100%'"
(designerLoaded)="this.designer.designerEl.nativeElement.style.height='100%'">
Loading designer...
</stimulsoft-designer-angular>
Serverseitige Berichtsverarbeitung auf ASP.NET oder Java
Die serverseitige Komponente von Stimulsoft für Angular basiert auf der .NET Framework-, .NET- und Java-Plattform und läuft unter Windows, macOS und Linux. Alle ressourcenintensiven Aufgaben – Vorlagenladen, Rendering, Berechnungen und Export in verschiedene Formate – werden auf den Server ausgelagert, wodurch die Client-Seite entlastet und die Gesamtleistung der Anwendung gesteigert wird. Die Lösung unterstützt .NET Framework 4.7.2, .NET 6, .NET 8, .NET 10 und Java 8+, einschließlich reiner Java-Anwendungen und des Spring Boot-Frameworks, und gewährleistet so einen stabilen Betrieb in modernen Unternehmensumgebungen. ViewerController.cs
using Microsoft.AspNetCore.Mvc;
using Stimulsoft.Report;
using Stimulsoft.Report.Angular;
namespace Integrating_the_Report_Viewer_into_an_Application.Controllers
{
[Controller]
public class ViewerController : Controller
{
static ViewerController()
{
// How to Activate
//Stimulsoft.Base.StiLicense.Key = "6vJhGtLLLz2GNviWmUTrhSqnO...";
//Stimulsoft.Base.StiLicense.LoadFromFile("license.key");
//Stimulsoft.Base.StiLicense.LoadFromStream(stream);
}
[HttpPost]
public IActionResult InitViewer()
{
var requestParams = StiAngularViewer.GetRequestParams(this);
var options = new StiAngularViewerOptions();
options.Actions.GetReport = "GetReport";
options.Actions.ViewerEvent = "ViewerEvent";
options.Appearance.ScrollbarsMode = true;
return StiAngularViewer.ViewerDataResult(requestParams, options);
}
[HttpPost]
public IActionResult GetReport()
{
var report = StiReport.CreateNewReport();
var path = StiAngularHelper.MapPath(this, $"Reports/MasterDetail.mrt");
report.Load(path);
return StiAngularViewer.GetReportResult(this, report);
}
[HttpPost]
public IActionResult ViewerEvent()
{
return StiAngularViewer.ViewerEventResult(this);
}
}
}
package com.stimulsoft.demo;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.stimulsoft.base.json.JSONObject;
import com.stimulsoft.base.mail.StiMailProperties;
import com.stimulsoft.report.StiReport;
import com.stimulsoft.report.StiSerializeManager;
import com.stimulsoft.web.proxyee.StiHttpServletRequest;
import com.stimulsoft.web.proxyee.StiHttpServletResponse;
import com.stimulsoft.webviewer.StiAngularViewerHandler;
import com.stimulsoft.webviewer.StiWebViewerOptions;
import com.stimulsoft.webviewer.servlet.StiWebViewerActionServletHelper;
public class StiAngularViewerActionServlet extends HttpServlet implements StiAngularViewerHandler {
private static final long serialVersionUID = 2759116620736251447L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processing(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processing(request, response);
}
protected void processing(HttpServletRequest request, HttpServletResponse response) {
StiWebViewerActionServletHelper.processing(new StiHttpServletRequest(request, this), new StiHttpServletResponse(response));
}
public StiWebViewerOptions getOptions(StiHttpServletRequest request, StiHttpServletResponse response) {
StiWebViewerOptions options = new StiWebViewerOptions();
options.getAppearance().setScrollbarsMode(true);
return options;
}
public StiReport getReport(StiHttpServletRequest request, StiHttpServletResponse response, JSONObject viewerProperties) {
try {
File reportFile = new File(request.getSession().getServletContext().getRealPath("reports\\" + viewerProperties.getString("reportName")));
StiReport report = StiSerializeManager.deserializeReport(reportFile);
report.render();
return report;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public StiMailProperties getMailProperties(StiHttpServletRequest request, StiHttpServletResponse response) {
StiMailProperties mailProperties = new StiMailProperties();
// fill necessary fields
return mailProperties;
}
}
package com.stimulsoft.demo;
import java.io.File;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.core.io.ClassPathResource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.stimulsoft.base.json.JSONObject;
import com.stimulsoft.base.mail.StiMailProperties;
import com.stimulsoft.report.StiReport;
import com.stimulsoft.report.StiSerializeManager;
import com.stimulsoft.web.proxyee.StiHttpServletRequest;
import com.stimulsoft.web.proxyee.StiHttpServletResponse;
import com.stimulsoft.webviewer.StiAngularViewerHandler;
import com.stimulsoft.webviewer.StiWebViewerOptions;
import com.stimulsoft.webviewer.servlet.StiWebViewerActionServletHelper;
@RestController
public class StiViewerController implements StiAngularViewerHandler {
@RequestMapping("/webviewer/**")
public void StiWebViewer(HttpServletRequest request, HttpServletResponse response) {
StiWebViewerActionServletHelper.processing(new StiHttpServletRequest(request, this), new StiHttpServletResponse(response));
}
public StiWebViewerOptions getOptions(StiHttpServletRequest request, StiHttpServletResponse response) {
StiWebViewerOptions options = new StiWebViewerOptions();
options.getAppearance().setScrollbarsMode(true);
return options;
}
public StiReport getReport(StiHttpServletRequest request, StiHttpServletResponse response, JSONObject viewerProperties) {
try {
File reportFile = new ClassPathResource(viewerProperties.getString("reportName")).getFile();
StiReport report = StiSerializeManager.deserializeReport(reportFile);
report.render();
return report;
} catch (Exception e) {
return null;
}
}
public StiMailProperties getMailProperties(StiHttpServletRequest request, StiHttpServletResponse response) {
StiMailProperties mailProperties = new StiMailProperties();
// fill necessary fields
return mailProperties;
}
}
