如何在 .NET Core 中生成服务器端报表

一.介绍

服务器端报表是大多数 Web 应用程序中的常见要求之一。这将使最终用户能够根据用户输入和应用程序提供的数据创建详细的动态文档。.NET Core 中有许多免费且强大的软件包可以简化此操作。这些库节省了成本,同时提供了强大的功能和灵活性,以确保能够很好地满足各种报表需求。

我有一个客户,他想要在我当前的一个项目中开发一种用于多种类型的服务器端报表的解决方案。目标是找到并集成可以轻松解决报表生成的免费软件包,使用 .NET Core。这样的解决方案还应易于使用、维护和扩展。它涵盖了 .NET Core 中一些用于服务器端报表的最佳免费软件包,提供了一个完整的入门示例,并展示了如何将这些工具有效地集成到您的项目中。

二.目录

1. 什么是服务器端报表?

2. NET Core 的热门免费软件包

  • DinkToPdf
  • FastReport开源
  • Report.NET

3. 详细示例

  • 使用 DinkToPdf 生成 PDF 报表
  • 使用 FastReport 开源创建报表
  • 使用 Report.NET 制作自定义报表

4. 结论

三.什么是服务器端报表?

这是一种在服务器上生成报表,然后将结果传输到客户端以供查看器使用或保存到磁盘的技术。在构建需要以复杂方式处理数据以进行报表且报表生成需要安全的应用程序时,这是一种重要的技术。

四.最佳免费 .NET Core包

1. DinkToPdf

这是用于将 HTML 文档转换为 PDF 文档的 Web-kit 渲染引擎的包装器类。它重量轻、简单,但功能强大,因为它可以轻松支持转换过程中可用的所有自定义选项。

2.FastReport

以最少的努力快速生成报表。支持多种数据源和丰富的功能。

3.Report.NET

Report.NET 这是一个使用 .NET Core 生成 PDF 报表的免费开源库。它很轻量,并提供了生成自定义报表的所有基本功能。

五.详细示例

使用 DinkToPdf 生成 PDF 报表

步骤 1.安装软件包

通过 NuGet 安装 DinkToPdf 包。

dotnet add package DinkToPdf
dotnet add package DinkToPdf.Native.Linux64
dotnet add package DinkToPdf.Native.Windows

第 2 步。配置 DinkToPdf

在Startup.cs文件中配置DinkToPdf。

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton(typeof(IConverter), new SynchronizedConverter(new PdfTools()));
}

步骤3.创建PDF报表。

创建一个控制器操作来创建 PDF。

using DinkToPdf;
using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
    private readonly IConverter _converter;

    public ReportController(IConverter converter)
    {
        _converter = converter;
    }
    public IActionResult GeneratePdfReport()
    {
        var doc = new HtmlToPdfDocument()
        {
            GlobalSettings = {
                PaperSize = PaperKind.A4,
                Orientation = Orientation.Portrait
            },
            Objects = {
                new ObjectSettings() {
                    PagesCount = true,
                    HtmlContent = "<h1>Hello Codingvila</h1>",
                    WebSettings = { DefaultEncoding = "utf-8" }
                }
            }
        };
        var pdf = _converter.Convert(doc);
        return File(pdf, "application/pdf", "report.pdf");
    }
}

六.使用 FastReport 开源报表

步骤 1.安装软件包

通过 NuGet 安装 FastReport 开源包。

dotnet add package FastReport.OpenSource
dotnet add package FastReport.OpenSource.Data

步骤 2.创建报表

创建一个简单的报表。

using FastReport;
using FastReport.Export.PdfSimple;
using Microsoft.AspNetCore.Mvc;
public class FastReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var report = new Report();
        report.Load("path/to/your/report.frx");
        using var stream = new MemoryStream();
        report.Prepare();
        report.Export(new PDFSimpleExport(), stream);
        stream.Position = 0;
        return File(stream.ToArray(), "application/pdf", "report.pdf");
    }
}

七.使用Report.NET生成定制报表

步骤 1.安装软件包

使用 NuGet 安装 Report.NET 包。

步骤 2.创建自定义报表

生成自定义报表。

using Report.NET;
using Microsoft.AspNetCore.Mvc;
public class ReportNetController : Controller
{
    public IActionResult GenerateCustomReport()
    {
        var report = new Report();
        report.AddTitle("Sample Report");
        report.AddParagraph("This is a sample report generated by codingvila using Report.NET.");
        var pdf = report.ExportToPDF();
        return File(pdf, "application/pdf", "custom-report.pdf");
    }
}

八.结论

通过这些免费软件包,使用 .NET Core 生成服务器端报表变得简单而高效。无论是基本的 PDF 文档还是使用多页报表的更复杂的报表,DinkToPdf、FastReport Open Source 和 Report.NET 都是强大的解决方案。借助所示示例,您可以轻松地将这些工具集成到您的 .NET Core 应用程序中以增强其报表功能。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢.锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值