报表控件stimulsoft操作:使用 Angular 应用程序的报告查看器组件

发布时间 : 2025-03-10 16:40:28.250|阅读 14 次

概述:本文将探讨如何使用嵌入式查看器组件在 ASP.NET Core Web 应用程序中创建报告和仪表板的示例。

相关链接:

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!

Stimulsoft Reports 最新下载 

介绍

报告和仪表板查看器是用于查看文档的专用组件。它完全可定制、速度快、用户友好,提供多种功能。为了确保无缝集成到项目中,我们为应用程序的外观和功能提供了多种主题和自定义选项。

入门

打开 Visual Studio 并转到文件菜单。选择新建,然后选择项目。接下来,选择ASP.NET Core Web 应用程序并单击下一步

现在,指定项目名称、位置和解决方案名称(例如AngularViewer),然后单击创建

继续选择平台:在此示例中,选择 .NET 8 或更高版本。确保禁用配置 HTTPS选项,然后单击创建

安装 NuGet 包

您可以联系慧都在线客服,安装Stimulsoft.Reports.Angular.NetCore NuGet 包:
  • 在项目的上下文菜单中,选择管理 NuGet 包
  • 选择一个元素并指定包版本;
  • 单击“安装”
接下来,您需要按照以下步骤将ViewerController添加到Controllers文件夹:
  • 打开Controllers文件夹的上下文菜单并选择添加项目
  • 选择控制器...并将控制器类型设置为MVC 控制器 – 空
  • 单击添加并输入控制器名称,例如ViewerController
  • 再次单击“添加” 。
接下来,继续处理报告:在项目中创建一个Reports文件夹,创建一个模板,例如MasterDetail.mrt ,并在ViewerController.cs中插入以下代码
ViewController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Stimulsoft.Report;
using Stimulsoft.Report.Angular;
using Stimulsoft.Report.Web;

namespace AngularViewer.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);
        }
    }
}

此外,您还应通过启用 CORS 策略和定义 Angular 的回退机制来配置 .NET 服务器。这应在Program.cs文件中完成

Program.cs

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllersWithViews();
builder.Services.AddCors(options =>
{
    options.AddDefaultPolicy(policy =>
    {
        policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
    });
});

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
}

app.UseDefaultFiles();
app.UseStaticFiles();

app.UseRouting();
app.UseCors();
app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Use(async (context, next) =>
{
    await next();
    if (context.Response.StatusCode == 404 && !context.Request.Path.Value.StartsWith("/api"))
    {
        context.Request.Path = "/index.html";
        await next();
    }
});

app.Run();
接下来,在文件资源管理器 中打开项目文件夹,并使用npm安装必要的 Angular-client 组件

控制台
npm install stimulsoft-viewer-angular
关闭控制台,删除ClientApp文件夹,重新打开控制台,输入以下命令:

Console
ng new ClientApp
选择CSS格式,按Enter,关闭控制台,然后导航到ClientApp文件夹。

再次打开控制台并安装stimulsoft-viewer-angular :

控制台
npm install stimulsoft-viewer-angular
关闭控制台。在文本编辑器中打开目录“ ...ClientApp\src\app\ ”中的app.module.ts文件并添加StimulsoftViewerModule。然后将以下代码插入app.module.tsapp.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { StimulsoftViewerModule } from 'stimulsoft-viewer-angular';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FormsModule } from '@angular/forms';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    StimulsoftViewerModule,
    HttpClientModule,
    BrowserAnimationsModule,
    FormsModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
在文本编辑器中打开目录“ ...ClientApp\src\app\ ”中的app.component.html文件并添加AppComponent。然后将以下代码插入app.component.htmlapp.component.html
<stimulsoft-viewer-angular
  [requestUrl]="'http://localhost:5151/Viewer/{action}'"
  [action]="'InitViewer'"
  [height]="'100vh'"
></stimulsoft-viewer-angular>
转到 Visual Studio 并运行项目。您将看到一个带有指定报告的查看器。

---------------------------------------------------------------------------

关于慧都科技:

慧都科技是专注软件工程、智能制造、石油工程三大行业的数字化解决方案服务商。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技是Stimulsoft的在中国区的合作伙伴,Stimulsoft作为图表报表领域的优秀产品,帮助企业实现轻松构建高性能的表格报告及图表。

下载|体验更多Stimulsoft产品联系在线客服咨询,或拨打产品热线:023-68661681

加入图表报表技术交流QQ群(740060302),与更多小伙伴一起探讨提升开发技能。


扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP