返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#使用DoddleReport快速生成报表
  • 354
分享到

C#使用DoddleReport快速生成报表

2024-04-02 19:04:59 354人浏览 薄情痞子
摘要

有的时候,我们需要对一堆数据进行统计分析后生成html或excel格式报表。本来这并不是一件很难的事,但确是件比较麻烦的事情。最令人头痛的是遇到领导下发的临时紧急任务的时候,往往领导

有的时候,我们需要对一堆数据进行统计分析后生成htmlexcel格式报表。本来这并不是一件很难的事,但确是件比较麻烦的事情。最令人头痛的是遇到领导下发的临时紧急任务的时候,往往领导都不知道到底要什么报表,只是给你一堆数据先让你出一个分析报告,当你上缴分析报告后,领导会针对分析结果让你再出一个分析报告… 。这时要是有一个快速生成报表的工具就非常方便了。

使用nuget安装控件

-install package DoddleReport
-install package DoddleReport.iTextSharp

现在,我们可以通过DoddleReport来快速生成报表。一个简单的示例如下:

假定我们的数据对象为如下格式:

    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public double Price { get; set; }
        public int OrderCount { get; set; }
        public DateTime LastPurchase { get; set; }
        public int UnitsInStock { get; set; }
    }

数据源通如下函数生成:

    static IEnumerable<Product> GetAllData()
    {
        var rand = new Random();
        return Enumerable.Range(1, 20).Select(
            i => new Product
            {
                Id = i,
                Name = "Product " + i,
                Description = "This is an example description",
                Price = rand.NextDouble() * 100,
                OrderCount = rand.Next(1000),
                LastPurchase = DateTime.Now.ADDDays(rand.Next(1000)),
                UnitsInStock = rand.Next(0, 2000)
            });
    }

要对该数据源生成报表,则只需要如下几步:

1. 通过ToReportSource扩展函数将数据源转换为Report对象

    // Create the report and turn our query into a ReportSource
    var report = new Report(GetAllData().ToList().ToReportSource());

2. 添加报表的标题和页眉页脚的描述

    // Customize the Text Fields
    report.TextFields.Title = "Products Report";
    report.TextFields.SubTitle = "This is a sample report showing how Doddle Report works";
    report.TextFields.Footer = "Copyright 2011 &copy; The Doddle Project";
    report.TextFields.Header = string.FORMat(@" Report Header Demo");

    // Render hints allow you to pass additional hints to the reports as they are being rendered
    report.RenderHints.BooleanCheckboxes = true;

3. 对输出的字段进行格式控制

    // Customize the data fields
    report.DataFields["Id"].Hidden = true;
    report.DataFields["Price"].DataFormatString = "{0:c}";
    report.DataFields["LastPurchase"].DataFormatString = "{0:d}";

4. 输出为报表

    using (var outputStream = File.Create(@"r:\report.html"))
    {
        var writer = new DoddleReport.Writers.HtmlReportWriter();
        writer.WriteReport(report, outputStream);
    }

这样,我们就可以得到如下的报表:

使用起来非常简单,但基本上该有的都有,还是非常不错的。其中2,3两步是可以省略的,最简单的方式下,只要如下几行即可:

    // Create the report and turn our query into a ReportSource
    var report = new Report(GetAllData().ToList().ToReportSource());

    using (var outputStream = File.Create(@"r:\report.html"))
    {
        var writer = new DoddleReport.Writers.HtmlReportWriter();
        writer.WriteReport(report, outputStream);
    }

值得一提的是,DoddleReport支持的输出给事非常丰富:pdf、EXCEL、HTML、CSV等常用的格式都支持,也能直接在asp.net中输出成在线报表。例如,我们只要把上面例子中的"Writers.HtmlReportWriter"改成"OpenXml.ExcelReportWriter"就可以生成Excel格式的报表,非常强大而方便。

到此这篇关于C#使用DoddleReport快速生成报表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#使用DoddleReport快速生成报表

本文链接: https://www.lsjlt.com/news/151973.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#使用DoddleReport快速生成报表
    有的时候,我们需要对一堆数据进行统计分析后生成HTML或Excel格式报表。本来这并不是一件很难的事,但确是件比较麻烦的事情。最令人头痛的是遇到领导下发的临时紧急任务的时候,往往领导...
    99+
    2024-04-02
  • Excel如何使用F11快速生成图表
    这篇文章主要介绍了Excel如何使用F11快速生成图表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。F11快速生成图表如果有这样一批数据,如何使用快捷键,一次性生成一张图表呢...
    99+
    2023-06-27
  • Excel如何使用Ctrl+T快速生成超级表
    这篇文章将为大家详细讲解有关Excel如何使用Ctrl+T快速生成超级表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Ctrl+T快速生成超级表超级表在实际中,其实是很有用的,比如说:下拉数据仍然可以看到...
    99+
    2023-06-27
  • 如何使用Python快速生成gif图
    目录前言imageio介绍imageio安装合成gif图读取特殊url图片总结前言 gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用...
    99+
    2024-04-02
  • Vue如何使用Array.from快速生成数组
    这篇文章给大家分享的是有关Vue如何使用Array.from快速生成数组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用 Array.from 快速生成数组一般我们生成一个有规...
    99+
    2024-04-02
  • 使用【Python】快速生成本项目的requeirments.txt
    在Python项目中,我们通常需要使用许多第三方库来提供额外的功能和工具。但是,直接将这些库上传到Git仓库并不是一种好的做法,因为这会使得代码库变得过于臃肿,并且很难管理。此外,有时候在部署应用程序...
    99+
    2023-09-05
    python git linux
  • 怎么使用thinkphp生成报表
    本文小编为大家详细介绍“怎么使用thinkphp生成报表”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用thinkphp生成报表”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、前置条件在使用thinkp...
    99+
    2023-07-05
  • 使用IDEA怎么快速生成注释文档
    本篇文章给大家分享的是有关使用IDEA怎么快速生成注释文档,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。IDEA提供了快捷方式来生成指定的代码。首先我们要编写好代码的模板。打开...
    99+
    2023-06-15
  • excel快速生成表单的方法是什么
    Excel提供了多种方法来快速生成表单。以下是一些常用的方法:1. 使用自动填充功能:在第一个单元格输入数据,然后将鼠标移动到单元格...
    99+
    2023-10-07
    excel
  • 使用python生成oracle数据报表
    #!/usr/bin/env python #coding:utf-8 # cx_Oracle 用于访问oracle和导出数据 import cx_Oracle #&...
    99+
    2024-04-02
  • 使用Python快速制作可视化报表
    我们可以试用可视化包——Pyechart。Echarts是百度开源的一个数据可视化JS库,主要用于数据可视化。pyecharts是一个用于生成Echarts图标的类库。实际就是Echarts与Python的对接。安装pyecharts兼容...
    99+
    2023-01-31
    报表 快速 Python
  • 怎么使用Python快速简单生成矩形词云
    本文小编为大家详细介绍“怎么使用Python快速简单生成矩形词云”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python快速简单生成矩形词云”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果实现打开I...
    99+
    2023-07-05
  • 使用生成系统健康报告快速查看Win8系统是否健康
      Win8系统使用一段时间后,如果你想要了解你的Win8系统是否健康或者有没有出现什么故障的话,你可以直接通过win8系统自带的“生成系统健康报告”功能生成然后查看。下面小编就与大...
    99+
    2022-06-04
    健康 系统 快速
  • 怎么用java快速生成接口文档
    本篇内容主要讲解“怎么用java快速生成接口文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用java快速生成接口文档”吧!目录前言方案一,使用japidocs基本用法方案2,swagge...
    99+
    2023-06-20
  • 如何在ASP中使用IDE来快速生成二维码?
    二维码是一种在移动互联网时代中广泛使用的一种信息传递方式。二维码可以存储大量的信息,同时可以被扫描器快速解码,因此被广泛应用于各行各业。在ASP.NET中使用IDE来快速生成二维码是一种非常方便的方式,本文将介绍如何使用Visual St...
    99+
    2023-06-16
    二维码 容器 ide
  • 如何在 Windows 上使用 Python API 快速生成二维码?
    Python 是一种强大的编程语言,它可以用于各种各样的应用场景。其中,生成二维码是 Python 中的一个非常实用的功能。本文将介绍如何在 Windows 上使用 Python API 快速生成二维码。 一、安装 Python 在使用 P...
    99+
    2023-05-26
  • C#通过System.CommandLine快速生成支持命令行的应用程序
    一直以来,当我们想让我们的控制台程序支持命令行启动时,往往需要编写大量代码来实现这一看起来很简单的功能。虽然有一些库可以简化一些操作,但整个过程仍然是一个相当枯燥而乏味的过程。 今天...
    99+
    2024-04-02
  • 如何使用 path 和 numy 在 ASP 中快速生成随机数?
    随机数在计算机编程中是一个非常常见的需求。在 ASP 中,我们可以使用 path 和 numpy 库来快速生成随机数。本文将介绍如何使用这两个库来生成随机数,并提供一些实例代码来演示。 path 库 path 库是 Python 中的一个常...
    99+
    2023-08-29
    npm path numy
  • 怎么利用navicat工具快速生成SQL语句
    这篇文章主要介绍怎么利用navicat工具快速生成SQL语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用方法如下:1、新建表语句,使用“SQL预览”功能在Navicat中新建一...
    99+
    2024-04-02
  • 教你怎么用IDEA快速生成注释文档
    IDEA提供了快捷方式来生成指定的代码。首先我们要编写好代码的模板。 打开IDEA的settings-Editor-Live Templates。点击右边的+号。选择Template...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作