如何在.NET 8.0 上安装 FastReport 并创建简单报告(下)

FastReport 是一款灵活而强大的报告工具。它允许用户以各种格式访问数据源并以可视化方式呈现它们。使用 FastReport 创建的报告可以在用户界面中使用拖放逻辑轻松设计,并转换为不同的格式(PDF、Excel、Word 等)。>> 如何在.NET 8.0 上安装 FastReport 并创建简单报告(上)

FastReport的报表生成器(无论VCL平台还是.NET平台),跨平台的多语言脚本引擎FastScript,桌面OLAP FastCube,如今都被世界各地的开发者所认可,这些名字被等价于“速度”、“可靠”和“品质”,在美国,欧洲和非洲不同国家均设有办事处。FastReports网站有10种不同语言的介绍,FastReports报表拥有40种语言的本地化的信息。

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

FastReport.NET官方版下载

2. 创建简单报告

2.1.使用FastReport设计器

FastReport Designer 是一个简化报表设计的可视化工具。

  • FastReport Designer 界面介绍: FastReport Designer 提供了一个拖放式用户界面来设计您的报表。您可以轻松地将数据表、图表、文本框等组件添加到您的报表中。
  • 添加数据源:首先,您需要添加要连接到报告的数据源。这些源可以采用各种格式,例如 SQL 数据库、JSON 文件、XML 格式等。在 FastReport Designer 中,您可以轻松定义这些数据源并将其包含在报告中。

FastReport .NET 设计器

打开空白报告设计后,您可以通过从操作框中选择新数据源来在此处连接数据库。

来自操作框的新数据源

FastReport 不要求我们只使用 MS SQL。如果您愿意,您可以以 JSON 和 XML 等格式定义数据并创建报告。

数据向导

导入时您可以灵活使用数据库中的所有选项。除了表之外,过程和视图也可以导入到 FastReport 中并在报告中使用。

2.2. 报告版面设计

  • 创建简单的表格报告:当您开始设计报告时,可以使用表格组件来显示数据。在此示例应用程序中,我将使用包含公司人员的表格中的年龄、姓名等信息创建一份简单的报告。
  • 添加页眉、数据字段和页脚:通过向表中添加页眉行,使您的报告更具可读性。将数据字段与数据源中的数据连接起来。您可以将总计和页码等其他信息添加到页脚行。
  • 样式和格式选项:您可以使用样式和格式选项使报告看起来更专业。例如,您可以将标题设为粗体并更改数据单元格的颜色。

报告布局设计

报告布局设计

在简单的设计中,添加数据源后,只需添加文本即可创建整个报告。在打开要添加的文本的模式中,有系统变量和数据源变量以方便使用。通过选择这些,可以使用拖放功能创建整个报告。

2.3. 预览报告

  • 运行报告并在预览模式下查看: 设计报告后,您可以在预览模式下运行报告以查看设计是否正确。在此模式下,您可以以不同的格式查看报告并修复任何错误。

预览报告

预览报告

您可以通过文件预览或报告预览查看您正在处理的报告的预览。

  • 以不同格式导出报告: FastReport 允许您以不同格式导出报告,例如 PDF、Excel 和 Word。您可以在预览模式下使用“保存”按钮将报告转换为所需的格式。

以不同格式导出报告

3. .NET 代码集成和从应用程序调用报告

3.1. 使用数据库连接调用报表

将我们刚刚创建的报告保存为 .frx 后,我们可以将其作为文件传输到我们的 .net 项目中,并从此文件调用报告。在使用 mssql db 连接准备的报告中,必须安装“FastReport.Data.Mssql”包。

FastReport.数据.Mssql

我们准备从项目中调用刚刚准备的报告。我们通过 FastReport 保存 frx 文件并将其添加到我们的“BasicFastReportDotnet8”项目中,我们将其作为 .net8 控制台应用程序打开。

BasicFastReportDotnet8

我们将在此操作中使用以下软件包:

  • 快速报表
  • 快速报表.数据
  • FastReport.导出.图像

让我们打开我们的.frx扩展文件并看看;

.frx 扩展文件

事实上,我们几乎可以从这里更新报告。我们在文件中使用的元素以 XML 格式呈现,并且我们的数据源连接定义得很好。太棒了!

现在,由于我们在此报告中使用了 mssql 连接,因此我们需要去指定它:

部分程序代码

这样,我们就表明报告已经准备好了数据,无需准备过程。剩下的就是小菜一碟了!

部分程序代码

  • 首先,创建一个新的报告实例并创建我们的报告对象。
  • 然后将准备好的frx文件加载到相关报告中。
  • 下达准备报告的命令。
  • 最后,决定以何种格式保存它。

让我们看看报告结果如何:

准备好的报告

3.2. 通过应用程序提供数据来调用简单报告模板

这些操作也可以使用空模板执行。我们可以在准备好的操作之前向报告对象发出“report.RegisterData”命令,对所需对象重复相同的操作。

部分程序代码

结论

FastReport 为小型项目和大型应用程序提供快速有效的报告解决方案。得益于其用户友好的界面和 .NET 集成,可以轻松进行报告设计和管理。此外,能够随时从数据库中提取记录,通过分离服务器端和数据库操作,可以提高报告分析的速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/34640.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot期末知识点大全

一、学什么 IoC AOP:面向切面编程。 事物处理 整合MyBatis Spring框架思想! 二、核心概念 问题:类之间互相调用/实现,导致代码耦合度高。 解决:使用对象时,程序中不主动new对象,转换为由外部提…

vscode CMakeLists中对opencv eigen的引用方法

CMakeLists.txt 项目模式(只有一个main函数入口) cmake_minimum_required(VERSION 3.5)project(vsin01 VERSION 0.1 LANGUAGES CXX)set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)set(OpenCV_DIR G:/MinGW_Opencv/opencv4.10/opencv…

11.15【JAVA】【网络编程】【DEBUG】

代码以开源至cqujk/CquJavaEE 的myExp-socketCode分支,欢迎拷打 参考REPO Java 11: Standardized HTTP Client API 没反应 这是因为这应当是两个线程,当server创建好套接字后,进入accept时,就不会继续向下运行,客户端自然也就无法发送请求 首先要保证server进入accept(这个…

华为HCIE-Datacom认证笔试+实验考试介绍

华为HCIE数通认证考试是面向那些希望成为数通网络领域专家的人员,考试通常两部分:笔试和实验考试。 考试科目: HCIE-Datacom笔试考试内容: HCIE-Datacom V1.0考试覆盖数据通信领域路由交换高阶技术、企业网络架构全景、园区网络…

Android环境搭建

Android环境搭建 第一步:安装 Homebrew 执行以下命令来安装 Homebrew: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"检测是否安装成功: brew --version第二步:安装 No…

WLAN漫游

定义 WLAN漫游 是指STA在不同AP覆盖范围之间移动且保持用户业务不中断的行为 实现WLAN漫游的两个AP必须使用相同的SSID和安全模板(安全模板名称可以不同,但是安全模板下的配置必须相同),认证模板的认证方式和认证参数也要配置相…

排序2(万字详细版)

一 快速排序 快速排序是Hoare于1962年提出的⼀种⼆叉树结构的交换排序⽅法,其基本思想为:任取待排序元素 序列中的某元素作为基准值,按照该排序码将待排序集合分割成两⼦序列,左⼦序列中所有元素均⼩ 于基准值,右⼦序列…

[ACTF2020 新生赛]Include

感觉毫无头绪e一下,发现要使用伪协议 伪协议:是PHP自己支持的一种协议与封装协议,简单说就是PHP定义的一种特殊访问资源的方法。 2.什么时候用PHP伪协议? 可能遇到的文件包含函数: 1、include 2、require 3、include_once 4、r…

链表【Lecode_HOT100】

1.相交链表No.160 public ListNode getIntersectionNode(ListNode headA, ListNode headB) {if(headAnull||headBnull) return null;ListNode pAheadA;ListNode pBheadB;while(pA!pB){pA(pAnull)?headB:pA.next;pB(pBnull)?headA:pB.next;}return pA; }2.反转链表No.206 pu…

时频转换 | Matlab格拉姆角和场Gramian angular summation field一维数据转二维图像方法

目录 基本介绍程序设计参考资料获取方式 基本介绍 时频转换 | Matlab格拉姆角和场Gramian angular summation field一维数据转二维图像方法 程序设计 clear clc % close all load x.mat % 导入数据 x x(1:5120); % 本数据只选择5120个点进行分析 fs 6400 ; % 数据采样频…

试题转excel;pdf转excel;试卷转Excel,word试题转excel

一、问题描述 一名教师朋友,偶尔会需要整理一些高质量的题目到excel中 以往都是手动复制搬运,几百道题几乎需要一个下午的时间 关键这些事,枯燥无聊费眼睛,实在是看起来就很蠢的工作 就想着做一个工具,可以自动处理…

借助vector实现进制转换详解

进制转换,没什么可说的,大一级别的水平,不过在某些考研题目中可能会涉及到顺序栈的实现,本贴不使用顺序栈,用STL里面的vector模拟一下:关键在于想清楚【除留取余】的逻辑,至于用什么结构存放中间…

快速构建NLP理论知识体系

NLP理论知识体系 一句话解释NLPNLP模型及原理简述1、Rag 一句话解释NLP 如果我们要实现机器翻译、情感分析、问答系统、文本摘要、聊天机器人、构造智能化的辅助文件填写模板,NLP可以通过现成的模型对输入的语音、文字、图片进行处理(分词、标词性、去停…

iptables防火墙(DNAT、SNAT)小实验

这篇是iptables服务器当中DNAT、SNAT的部分 网络拓扑图: 实验要求: 实现内外网web互访问将内web的网关指向iptables服务器ens33的IPiptables服务器添加两块网卡,外web服务器要跟iptables的ens36同一块网卡内部web:192.168.180.1…

Oracle ASM特性介绍和增删盘操作

1. 介绍 1.1. 在没有ASM之前ORACLE数据库靠什么去解决存储问题: 裸设备:裸设备就是没有被文件系统格式化的分区或者是直接挂载到操作系统上的磁盘。ORACLE可以直接将数据写入到裸设备中,读写能非常优异。像ORACLE的数据文件、控制文件、REDO日志在过去…

UiPath API接口说明

Swagger网址 私有云网址(企业版) https://企业/swagger/index.html 公有云网址(社区版) https://cloud.uipath.com/linan/LinanZhang/orchestrator_/swagger/index.html#/ 常见问题 Swagger页面测试请求时报错“You are not a…

【机械加工】数字化软件打造,如何实现3D交互可视化?

机械加工是制造业的重要领域之一,随着制造技术和工艺的不断发展,机械加工的精度和效率要求越来越高。HOOPS作为一款专业的3D图形引擎,可以为机械加工行业提供高效、灵活的3D建模、可视化和交互工具。下面将从以下几个方面介绍HOOPS技术在机械…

CAMAv2: A Vision-Centric Approach for Static Map Element Annotation

CAMAv2: 摘要简介相关工作A. 视觉为中心的地图构建(Vision-centric HD Map Construction)B. 地图元素数据集(Map Element Datasets)1. nuScenes 数据集2. Argoverse2 数据集3. 车道线数据集 CAMAv2A. 场景重建(Scene R…

大数据新视界 -- 大数据大厂之 Hive 临时表与视图:灵活数据处理的技巧(上)(29 / 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Python批量生成个性化Word录用通知书

你是一名人力资源部门的员工,你需要根据一份Excel表格中的员工信息,为每位员工生成一份录用通知书。 Excel表格中包含了员工的姓名、性别、职位、入职日期等信息,你需要将这些信息填充到Word模板中,并生成独立的录用通知书文件。…