全新更新!Fastreport.NET 2025.1版本发布,提升报告开发体验
在.NET 2025.1版本中,我们带来了巨大的期待功能,进一步简化了报告模板的开发过程。新功能包括通过添加链接报告页面、异步报告准备、HTML段落旋转、代码文本编辑器中的文本搜索、WebReport图像导出等,大幅提升用户体验。
FastReport .NET 是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。
添加带有链接的报告页面
在以前的版本中,可以将另一份报告的页面添加到一份报告中。此选项可在 “文件->打开页面...”中找到。 默认情况下,页面的副本会添加到报告中。

您现在可以启用“添加为链接”选项,该选项会将页面的链接添加到报告,而不是页面的副本。这意味着当您更改原始报告中的页面时,更改将反映在以链接形式添加该页面的所有报告中。反之亦然,如果在具有指向该页面的链接的报告中更改了页面,则原始报告中也会更改该页面。
异步报告准备
添加了report.PrepareAsync()方法,除了现有的同步report.Prepare()方法外,还支持异步报告准备。此方法还支持CancellationToken,允许用户在需要时取消报告准备过程,从而改善非阻塞环境中大型报告的控制和性能。此功能将来可能会进一步增强,新方法可提供额外的异步访问。
IfNull 函数
object IfNull(object expression, object defaultValue)
有一个新的函数允许 System.NullReferenceException在评估表达式时避免这种情况。该函数有两个参数:第一个是要评估的表达式,第二个是默认值。如果表达式可以评估,则函数返回其结果。如果不能,则返回默认值。
使用 TextRenderType.HtmlParagraph 旋转文本
添加了使用 TextRenderType.HtmlParagraph 旋转文本的支持。以前,文本旋转仅适用于其他文本渲染器类型。您可以在下面看到文本旋转的示例。

此外,现在可以正确将此类文本导出为 PDF。
FastReport WPF 和 FastReport Mono 代码编辑器中的文本搜索
现在您不仅可以在 FastReport .NET 代码编辑器中搜索文本,还可以在 FastReport WPF 和 FastReport Mono 编辑器中搜索文本。
在FastReport WPF代码中搜索文本的示例:

在 FastReport Mono 代码编辑器中:

Blazor WASM WebReport 的本地化支持
在 FastReport Blazor WebAssembly 中引入了对 WebReport 接口的本地化支持。以前,本地化是通过基于文件的方法进行管理的,这与 WASM 环境不兼容。新方法webReport.SetLocalization(Stream)允许从 Stream 加载本地化,使其与 Blazor WASM 应用程序兼容。
图像导出至WebReport
添加了将报告导出到图像的功能。要将其显示在导出列表中,请添加以下代码:
WebReport.Toolbar.Exports.ShowImageExport = true;

添加了将报告导出到图像的功能。要将其显示在导出列表中如果需要,您必须启用 WebReport 选项来配置导出到图像 WebReport.Toolbar.Exports.EnableSettings。启用后,您可以单击“齿轮”并在出现的模式窗口中更改设置。,请添加以下代码:
WebReport.Toolbar.Exports.ShowImageExport = true;

完整变更列表
[Engine]
+ 为 RichObject 添加了 PicturesInParagraph 属性;
+ 添加了异步报告准备方法 PrepareAsync();
+ 添加了将字符串转换为兼容 dbtype 的功能;
+ 添加了打印比例;
+ 在 ToWords 函数中添加了将单词转换为十进制的功能;
+ 添加了西班牙语的区域标识符 22538(西班牙语 - 拉丁美洲)和 3082(西班牙语 - 西班牙(现代排序));
+ 添加了新的 IfNull 函数用于处理表达式。如果表达式不为空,则返回计算表达式的结果,否则返回指定的默认值;
+ 实现了 RichObject 中图片水平位置的计算;
+ 添加了以虚拟主机样式发送请求的功能;
+ 添加了对 TextRenderType = HtmlParagraph 的文本旋转的支持;
+ 添加了为 Totals 的“PrintOn”属性使用标题带的功能;
* 升级了 FastReport.Data.OracleODPCore 中的 Oracle.ManagedDataAccess.Core;
* 将 GetConnection、OpenConnection 和 Dispose 方法标记为虚拟;
* 为 Hyperlink.Value 属性的传入值添加了空值检查;
* 静态验证方法 TryParse 已被引入到 QRCodes 类中;
- 修复了文本中断问题;
- 修复了 PageStart 事件后页面可见性变化的问题;
- 修复了转换为参数类型的问题;
- 修复了检查报告脚本中是否包含停用词(如果变量名称中包含停用词)的问题;
- 修复了启用 GrowToBottom 时文本对象底部边框的可见性问题;
- 修复了分组 DataBand 具有 GrowToBottom 选项时边框加倍的问题;
- 删除了 SVGPictureObject 中子 clipPath 标签的渲染;
- 修复了 FinishReport 事件中的一个错误;
- 删除了将 SubreportObject 添加到 ContainerObject 的无效功能;
- 修复了更改请求的 CommandType(如果已在 GetAdapter 中设置)的问题;
[设计器]
+ 添加了从另一个报告以链接形式打开页面的功能;
+ 为 span 标签添加了斜体、粗体、下划线和删除线字体样式;
+ 添加了通过键盘输入的字符在 TreeView 中进行搜索的功能;
+ 在 WPF 和 Mono 的代码编辑器中添加了搜索功能;
* 添加了对下载字体重复项的检查;
* 将 CurrencyFormat、NumberFormat 和 PercentFormat 类的构造函数中的默认属性值从固定值替换为 CultureInfo.CurrentCulture 中的值;
- 修复了字体选择下拉列表中 Amiri、Cambria Math、DejaVu Math TeX Gyre 字体的错误位置;
- 修复了通过边框编辑器保存边框时导致 System.NullReferenceException 的错误;
- 修复了设计器中 SVG 图像的错误显示;
- 修复了工具提示中“代码”选项卡上一行中声明的变量的显示;
- 修复了“ExtraDesignWidth”模式下的页边距长度;
- 修复了长报告设计器中的参考线长度;
- 修复了下拉列表中未显示所选字体的错误;
- 修复了数据格式的错误应用;
- 修复了删除带有 Subreport 对象的带区时导致 System.NullReferenceException 的错误;
[预览]
+ 在 PreviewControl 中添加了 Outline.Expand 和 Outline.Width 属性;
- 修复预览空 SvgObject 时索引超出范围的问题;
- 修复点击“下一步”按钮后关闭 PreviewSearchForm 的问题;
[导出]
+ 添加了在导出到 Excel 时将所有报告页面合并为一个的功能;
+ 在 Excel 导出中添加了使用自定义格式而不是常规格式的选项;
+ 在 Word 导出中添加了删除线文本格式;
+ 为 Word 导出添加了 MemoryOptimized 选项,该选项允许使用 FileStream 而不是 MemoryStream;
+ 添加了在导出到 PDF 时使用 TextRenderType = HtmlParagraph 旋转文本的支持;
* 格式显示调整 - 格式 'D' 和 'MMMM yyyy' 显示为日期(如果可能则格式 'MM yyyy'),带有负模式 '-n' 的数字格式以标准 Excel 数字格式显示;
* 将 PictureObject 边框的导出更改为 Word 中的图像;
* 优化了导出为 PDF 时的内存消耗;
* 将表格导出的布局更改为已修复;
- 修复了 HTML 导出中 HTML 标签的渲染问题;
- 修复了负 PDF 属性值的导出问题;
- 导出到 Excel 后修复了浏览器中单元格边框的颜色;
- 修复了 Word 和 PowerPoint 中单元格的边框样式;
- 修复了将页眉和页脚中的图片导出到 Word 的问题;
- 修复了删除临时文件时的错误;
- 修复了导出为 HTML 时行高的计算问题;
- 修复了将双线样式的边框导出为 PDF 时出现错误的
问题; - 修复了 HTML 导出中的透明度错误;
- 修复了在 HTML 导出过程中 <p> 标签显示不正确的问题;
- 修复了 Word 导出时“UseHeaderAndFooter”选项的默认值;
- 修复了将表格导出到 Word 时图像的位置不正确的问题;
- 修复了导出到 Excel 时在 TableObject 之后设置的对象行高问题;
- 修复了使用替代查找将字体导出到 PDF 时出现的 NullReferenceException 问题;
[WebReport]
+ 添加了在选项卡中显示报表名称而不是参数的功能;
+ 添加了 SetLocalization 方法,用于从 Stream 中加载 WebReport 本地化;
+ 添加了在 WebReport 中将报表导出为图像格式的功能;
- 修复了从 WebReport 中的自定义应用程序样式继承“box-sizing”的问题;
- 修复了预览 WebReport 时出现的 IndexOutOfRange 异常;
- 修复了导致 WebReport.Debug 属性在启用时不显示报表中的错误信息的错误;
- 修复了单击 WebReport 中的选项卡时可能发生 NullReferenceException 异常的错误;
- 修复了在 WebReport 中重置 ExtraFilter 的问题;
- 修复了横向打印 WebReport 页面的问题;
[在线设计器]
+ 增加了一种更新表格的方法;
- 修复了在线设计器中空 SVG 对象的预览;
[.NET Core]
+ 在 FastReport Core 中添加了 MS SQL 存储过程的方法;
[常用]
+ 增加了通过代码设置参数表达式的方法;
+ 增加了签名安装时的时间戳;
[附加功能]
+ 增加了连接到 Oracle 存储过程的能力;
* 将 Firebird.Client 版本更新至 10.0.0;
* 更新了易受攻击的包 Npgsql(Postgres) 和 System.Data.SqlClient;
* 更改了在连接到 Linter 时按下“高级”按钮时显示的错误消息文本;
- 修复了 Report 对象的表单设计器中缺少菜单的错误;
- 修复了 Postgres“字符变化”类型的错误;
[演示]
- 修复演示报告 Barcode.frx。
相关文章:
全新更新!Fastreport.NET 2025.1版本发布,提升报告开发体验
在.NET 2025.1版本中,我们带来了巨大的期待功能,进一步简化了报告模板的开发过程。新功能包括通过添加链接报告页面、异步报告准备、HTML段落旋转、代码文本编辑器中的文本搜索、WebReport图像导出等,大幅提升用户体验。 FastReport .NET 是…...
信息学科平台系统设计与实现:Spring Boot技术手册
5系统详细实现 5.1 用户信息管理 基于保密信息学科平台系统的系统管理员可以对用户信息查询。具体界面的展示如图5.1所示。 图5.1 用户信息管理界面 5.2 教师信息管理 管理员可以对教师信息进行查下和删除。具体界面如图5.2所示。 图5.2 教师信息界面 5.3 学科动态管理 管理…...
conda下jupyterlab安装问题以及交互绘图问题记录
安装 1. 直接conda install jupyterlab就好,只要在base环境下安装就行,可以在任意环境下执行jupyter lab启动。 2. 打开jupyter lab后显示Could not determine jupyterlab build status without nodejs,可以执行conda install nodejs安装no…...
尚硅谷react教程_扩展_setState更新状态的2种写法
1.setState setState更新状态的2种写法(1).setState(stateChange,[callback])----对象式的setState1.stateChange为状态改变对象(该对象可以体现出状态的更改)2.callback是可选的回调函数,它在状态更新完毕、界面也更新…...
C语言编写的自动取款机模拟程序
#include〈stdio。h> #include<string。h> #include <stdio.h> #include〈stdlib.h〉 #include〈direct.h〉 #include<io.h> #include 〈errno。h> /********************************************************…...
【常用数据结构】开发中常用的数据结构?
开发中常用的数据结构包括数组、链表、栈、队列、树、图、堆和散列表(哈希表)。这些数据结构在软件开发中有着广泛的应用,并且各自具有独特的特点和用途。 数组 数组是最基本的数据结构之一,用于在内存中连续存储多个元素。数…...
OCC 点云
OCC的基础知识可能还是要系统学习一下,部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface,最终获取参数都要拟合一下,拟合后的生成的面对象没有大小,比如平面只有矢量(大小没有思路) 圆柱拟合面没有…...
方法重写与方法重载
1. 方法重载与方法重写的定义 方法重写(Overriding) 方法重写(Overriding)是指在子类中重新定义与父类中相同的方法。此操作允许子类提供特定的实现,以替代父类的实现。方法重写是实现多态性(Polymorphis…...
Vue3实现地球上加载柱体
最终效果为上图。 实现该技术,需要一些技术,我分别罗列一下: canvas:需要使用canvas根据json来绘制地球,不懂的可以看这篇canvas绘制地球 threejs:需要会使用threejs,这里并没有使用shader&am…...
OpenGL入门003——使用Factory设计模式简化渲染流程
前面两节已经学会了如何使用opengl创建窗口并绘制三角形,我们可以看出有些步骤是固定的,而且都写在main.cpp,这一节我们将了解如何使用Factroy设计模型。将模型渲染逻辑封装在一个单独的类中,简化开发流程,且提高代码复…...
01_AI编程案例展示:借助AI轻松爬取海量网盘链接
爬虫案例展示 今天,我们将展示如何利用AI快速开发一个网络爬虫, 使用的工具是Python和Claude 3.5 Sonnet(国内可用豆包替代) 我们的目标是爬取panhub.fun网站上的夸克网盘链接, 即使你是编程新手,也可以轻松完成这样的任务。 案例1-批量爬取panhub网盘整合包 下…...
【机器学习导引】ch5-神经网络
Q&A 1x1 卷积层在深度学习中的作用? 1x1 卷积层在深度学习中具有几个重要的作用: 通道压缩:1x1卷积可以通过调整输出通道数来减少特征图的深度,从而降低计算成本和参数数量。这有助于在保持特征的情况下简化模型。特征融合&am…...
【Axure原型分享】颜色选择器——填充颜色
今天和大家分享颜色选择器——填充颜色的原型模板,点击颜色区域可以弹出颜色选择器,点击可以选择对应颜色,颜色区域会变色我们选择的颜色,具体效果可以观看下方视频或者打开预览地址体验。 【原型效果】 【Axure高保真原型】颜色…...
怎么安装行星减速电机才是正确的
行星减速电机由于其高效、精密的传动能力,广泛应用于自动化设备、机器人、机床以及其他需要精准控制的领域。正确的安装行星减速电机对于确保设备的性能与延长使用寿命至关重要。 一、前期准备 在进行行星减速电机的安装之前,必须做好充分的前期准备工作…...
Unity程序化生成地形
制作地形: 绘制方块逐个绘制方块并加噪波高度删除Gizmos和逐个绘制 1.draw quad using System.Collections; using System.Collections.Generic; using UnityEngine;[RequireComponent(typeof(MeshFilter))] public class mesh_generator : MonoBehaviour {Mesh m…...
Vxe UI vue vxe-table 表格中使用下拉表格,单元格渲染下拉表格
Vxe UI vue vxe-table 表格中使用下拉表格,单元格渲染下拉表格 单元格中渲染下拉表格,需要使用到 vxe-table-select 这个组件,在 vxe-table 4.7 中使用非常简单,只需要配置好渲染器数据源就可以。 支持单选 也可以多选 代码 …...
Android开发教程实加载中...动效
Android开发教程实加载中…动效 加载中,发送中,匹配中都可以用,就是后面是三个点还是两个点,不断在切换 一、思路: 隔500ms发送一次,改变内容 二、效果图: 看视频更加直观点: An…...
NVR设备ONVIF接入平台EasyCVR视频融合平台智慧小区视频监控系统建设方案
一、方案背景 智慧小区构成了“平安城市”建设的基石。随着社会的进步,社区安全问题逐渐成为公众关注的热点。诸如高空抛物、乱丢垃圾、破坏车辆、入室盗窃等不文明行为和违法行为频繁出现。目前,许多小区的物业管理和安全防护系统仍然较为简单和陈旧&a…...
适配器模式适用的场景
适配器模式是一种常用的设计模式,能够将不兼容的接口转换为客户端所需的接口。在实际开发中,我们常常会遇到需要统一接口、替换外部系统、兼容旧接口或适配不同数据格式的情况。本文将结合详细的代码示例,介绍适配器模式的适用场景。 1. 统一…...
Ambari里面添加hive组件
1.创建hive数据库 在添加hive组件之前需要做的事情,先在master这个虚拟机里面创建好hive 先进入虚拟机里面进入mysql 然后输入这个命令看看有没有自己创建的hive数据库 show databases;有的话会显示下面这个样子 没有的同学使用以下命令可以在MySQL中创建hive数…...
LinuxCNC新手到专家:5个步骤打造你的完美数控系统
LinuxCNC新手到专家:5个步骤打造你的完美数控系统 【免费下载链接】linuxcnc LinuxCNC controls CNC machines. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more. 项目地址: https://gitcod…...
【AI编程生产力跃迁】:用Perplexity秒级获取可运行代码示例的6大权威提示工程模板
更多请点击: https://codechina.net 第一章:Perplexity代码示例查询的核心机制与能力边界 Perplexity 在处理代码示例查询时,并非依赖静态模板匹配,而是通过多阶段语义理解与上下文感知检索协同实现:首先对用户自然语…...
无王无帝定乾坤,来自田间第一人 凰标为律正人心
无王无帝定乾坤,来自田间第一人。 世间最大的乱象,从来不止山河动荡、世道纷争,更是人心失序、良知蒙尘。一、旧世千年:王权为纲,律法为束旧制之弊具体表现规则来源由权贵制定,标准随权势偏移治理逻辑重压制…...
Visual C++运行库合集:一站式解决Windows应用程序依赖问题的终极指南
Visual C运行库合集:一站式解决Windows应用程序依赖问题的终极指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 还在为"缺少msvcp140.dll&qu…...
别只仿真了!手把手教你将Proteus里的AT89C52温控风扇代码烧录进实物单片机
从Proteus仿真到实物落地:AT89C52温控风扇全流程实战指南 当你成功在Proteus中完成了AT89C52温控风扇的仿真,看到虚拟环境中风扇随着温度变化自动启停时,那种成就感不言而喻。但仿真终究只是第一步,真正的挑战在于如何将这个系统…...
LabVIEW多语言界面开发:基于JKI Simple Localization的控件本地化实战
1. 项目概述与核心思路 在开发面向全球用户的LabVIEW应用程序时,多语言界面支持是一个绕不开的刚需。想象一下,你的测控软件或工业自动化系统需要部署到不同国家,如果每次都要为不同语言单独开发一套界面,那工作量无疑是巨大的&am…...
3步解决Windows热键冲突:Hotkey Detective强力侦测工具指南
3步解决Windows热键冲突:Hotkey Detective强力侦测工具指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是…...
对比直接采购与通过Taotoken使用大模型的月度账单差异
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接采购与通过Taotoken使用大模型的月度账单差异 1. 背景与观察方法 我们是一个小型技术工作室,日常工作需要频繁…...
量子优化技术在工业数据生产规划中的应用与实践
1. 量子优化技术在工业数据生产规划中的实践探索在汽车制造领域,生产规划一直是个复杂难题。以冲压车间为例,金属板材需要通过冲压机加工成车身部件,每台冲压机都有不同的工作能力和成本特性,而每个模具组又需要分配到合适的机器上…...
泉州某卫浴GEO优化实战:四标融合+场景化方法论,从搜索不可见到AI优先引用
我们在服务制造业企业的过程中发现一个根本性变化:过去大家关心“怎么让用户搜到我”,现在AI直接生成答案,企业真正的挑战变成了“怎么让AI准确信任我、优先引用我”。传统SEO在AI的“黑箱”面前越来越失效,企业必须重新建立一套可…...
