In diesem Artikel betrachten wir die Integration der Stimulsoft-Softwares in .NET MAUI-Projekte. Das Framework .NET Multi-platform App UI (weiter – .NET MAUI) ermöglicht die plattformübergreifenden Anwendungen für solche Betriebssysteme wie Windows, macOS, iOS und Android zu entwickeln. Es gibt keine speziellen Stimulsoft-Berichtskomponenten für MAUI, aber kann man das Produkt Reports.BLAZOR für die Integration von Berichtstools, und Dashboards.BLAZOR für die Integration von Datenanalytik-Systemen verwenden.
Wichtig!
Der Berichtsgenerator für Blazor erlaubt die Berichte jeder Komplexität von typischen Rechnungen bis zu komplexen Dokumenten mit den Parametern, interaktiver Sortierung und Drill-Down-Funktionalität zu erstellen. Aber es gibt keine nativen visuellen Komponenten, Designer und Viewer, für .NET MAUI-Framework, und die Komponenten aus Blazor-Produkten funktionieren nicht auf allen oben erwähnten Plattformen. Das liegt an einigen Besonderheiten des .NET MAUI-Frameworks und der Technologie, die beim Entwickeln von den Komponenten verwendet wird. Gleichzeitig kann der Bericht generiert und als Ergebnis seines Exportes, zum Beispiel, als PDF-Datei oder HTML-Text angezeigt werden. Auch kann man den Zugang zum exportierten Bericht bieten. Für weitere Arbeit mit dem Beispiel soll das Framework .NET Multi-platform App UI development installiert werden. Im Visual Studio Installer befindet sich das angegebene Framework in der Kategorie Desktop & Mobile.
NavMenu.razor
NavMenu.razor
So kann man beim Entwickeln von .NET Multi-platform App UI die Reporting- und Datenanalytik-Systeme ohne Viewer und Designer verwenden. Mehr über die Verwendung von Blazor Stimulsoft kann man in der Dokumentation lesen. Die Aktivierung vom Produkt Reports.BLAZOR ist mit dem Abonnement Reports.WEB, und Dashboards.BLAZOR – mit dem Abonnement Dashboards.WEB verfügbar. Im unseren Online-Shop kann man die komplexe Lösung für Reporting- und Analytik-Systeme unter verschiedenen Plattformen – das Abonnement Stimulsoft Ultimate einkaufen.
Der Berichtsgenerator für Blazor erlaubt die Berichte jeder Komplexität von typischen Rechnungen bis zu komplexen Dokumenten mit den Parametern, interaktiver Sortierung und Drill-Down-Funktionalität zu erstellen. Aber es gibt keine nativen visuellen Komponenten, Designer und Viewer, für .NET MAUI-Framework, und die Komponenten aus Blazor-Produkten funktionieren nicht auf allen oben erwähnten Plattformen. Das liegt an einigen Besonderheiten des .NET MAUI-Frameworks und der Technologie, die beim Entwickeln von den Komponenten verwendet wird. Gleichzeitig kann der Bericht generiert und als Ergebnis seines Exportes, zum Beispiel, als PDF-Datei oder HTML-Text angezeigt werden. Auch kann man den Zugang zum exportierten Bericht bieten. Für weitere Arbeit mit dem Beispiel soll das Framework .NET Multi-platform App UI development installiert werden. Im Visual Studio Installer befindet sich das angegebene Framework in der Kategorie Desktop & Mobile.
Schritt 1
Zuerst muss man das Projekt .NET MAUI Blazor Hybrid App erstellen. Als Target-Framework empfehlen wir .NET 8 zu wählen, weil es als LTS (Long-Term Support) bezeichnet ist, d.h. hat erweiterte Unterstützung und Nutzungszeit. Das Framework .NET 9 ist auch von unseren Produkten unterstützt.Schritt 2
Nach dem Erstellen vom .NET MAUI-Demo-Projekt werden wir die Funktionen für die Arbeit mit Stimulsoft-Berichten integrieren. Erstens, man muss in dieses Demo-Projekt das NuGet-Paket für das Berichtstool – Stimulsoft.Reports.Blazor, und, wenn man auch die Datenanalytik braucht,Stimulsoft.Dashboards.Blazor installieren.Schritt 3
Die Export-Befehle befinden sich auf einer separaten Seite im Projekt. Die Seite wird im fünften Schritt hinzugefügt werden, und in diesem Schritt modifizieren wir die Navigationsleiste – fügen den Link hinzu. Dafür fügen wir in der Datei Components/Layout/NavMenu.razor folgenden Code-Block hinzu:NavMenu.razor
...
<div class="nav-item px-3">
<NavLink class="nav-link" href="/export">
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span>Export Report
</NavLink>
</div>
...
Schritt 4
Man muss die Berichtsdateien in die Projekte hinzufügen. Diese Dateien können die Vorlagen der Berichte und Dashboards (*.mrt, *.mrz, *.mrx) und auch die erstellten Berichte (*.mdc, *.mdz, *.mdx) enthalten. Zum Beispiel, fügen wir die Berichtsvorlage SimpleList.mrt in den Ordner Resources/raw hinzu.Schritt 5
In diesem Schritt fügen wir die Seite mit Bericht-Exporten hinzu. Dafür fügen wir im Ordner Components/Pages eine neue Datei Export.razor hinzu. In diesem Beispiel werden drei Schaltflächen hinzugefügt:- die Schaltfläche Export PDF. Sie ruft den Export vom Bericht in die PDF-Datei und Öffnen von dieser Datei mit dem Tool, das im Betriebssystem als Tool für Anzeigen von PDF-Dateien registriert ist, auf.
- die Schaltfläche Export HTML. Sie ruft den Export vom Bericht in die HTML-Datei auf und zeigt die Seiten des Berichtes gerade in der Anwendung an.
- die Schaltfläche Share PDF. Sie ruft den Export vom Bericht in die PDF-Datei und das Menü „Teilen“ für verwendendes Betriebssystem auf.
NavMenu.razor
@page "/export"
@using Stimulsoft.Report;
@using Stimulsoft.Report.Blazor;
@using Stimulsoft.Report.Web;
@using Stimulsoft.Report.Export;
@using System.Text;
<button @onclick="@ExportPdf">Export PDF</button>
<button @onclick="@ExportHtml">Export HTML</button>
<button @onclick="@SharePdf">Share PDF</button>
<br /><br />
<div>@((MarkupString)HtmlContent)</div>
@code {
private StiReport Report = new StiReport();
private string HtmlContent = string.Empty;
protected override async Task OnInitializedAsync()
{
var reportStream = await FileSystem.OpenAppPackageFileAsync("SimpleList.mrt");
Report.Load(reportStream);
}
private void ShowHtmlReport()
{
var service = new StiHtmlExportService();
service.RenderAsDocument = false;
var settings = new StiHtmlExportSettings();
using (var stream = new MemoryStream())
{
service.ExportHtml(Report, stream, settings);
var buffer = stream.ToArray();
HtmlContent = Encoding.UTF8.GetString(buffer);
}
}
private async Task ExportDocument(StiExportFormat format, string fileName, bool shareFile = false)
{
if (Report == null) return;
await Task.Run(() => Report.Render());
if (format == StiExportFormat.Html)
{
ShowHtmlReport();
}
else
{
var filePath = Path.Combine(FileSystem.Current.CacheDirectory, fileName);
using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
Report.ExportDocument(StiExportFormat.Pdf, fileStream);
}
if (shareFile)
{
var file = new ShareFile(filePath);
await Share.Default.RequestAsync(new ShareFileRequest(fileName, file));
}
else
{
var file = new ReadOnlyFile(filePath);
await Launcher.OpenAsync(new OpenFileRequest(filePath, file));
}
}
}
private Task ExportPdf() => ExportDocument(StiExportFormat.Pdf, "Simple List.pdf");
private Task ExportHtml() => ExportDocument(StiExportFormat.Html, "Simple List.html");
private Task SharePdf() => ExportDocument(StiExportFormat.Pdf, "Simple List.pdf", true);
}
![Integrating Stimulsoft tools into .NET MAUI](/images/articles/2025/integrating-stimulsoft-tools-into-net-maui/phone.png)
Schritt 6
Die Integration von Stimulsoft-Tools ist tatsächlich beendet. Derzeit ist das Berichtssystem in .NET MAUI-Projekt integriert und man muss es nur ausführen. Im Navigationsmenü des Demo-Projektes wird den neuen Link Export Report hinzugefügt werden. Beim Klicken auf diesem Link wird die Seite mit verschiedenen Aktionen – Export in PDF und Anzeigen vom Bericht als HTML-Next – geöffnet. Außerdem, man kann den Bericht in PDF-Datei exportieren und teilen. Wenn es nötig ist, kann man diesen Code modifizieren und den Export in andere Formate, z.B., in Bilder oder Rich Text, erfüllen. Auch kann man in Export-Optionen den Export nur von bestimmten Seiten des Berichtes oder andere Parameter einstellen.So kann man beim Entwickeln von .NET Multi-platform App UI die Reporting- und Datenanalytik-Systeme ohne Viewer und Designer verwenden. Mehr über die Verwendung von Blazor Stimulsoft kann man in der Dokumentation lesen. Die Aktivierung vom Produkt Reports.BLAZOR ist mit dem Abonnement Reports.WEB, und Dashboards.BLAZOR – mit dem Abonnement Dashboards.WEB verfügbar. Im unseren Online-Shop kann man die komplexe Lösung für Reporting- und Analytik-Systeme unter verschiedenen Plattformen – das Abonnement Stimulsoft Ultimate einkaufen.