提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:王香|2019-02-22 09:47:08.000|阅读 490 次
概述:FastReport.OpenSource已经吸引了很多开发人员的兴趣。这是一个历史悠久的伟大的报表生成器。开源版本是FastReport.Core,它出现在2018年初,但有一些限制。即 - 减少导出。因此,我们只能使用以下格式:
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
FastReport.OpenSource已经吸引了很多开发人员的兴趣。这是一个历史悠久的伟大的报表生成器。开源版本是FastReport.Core,它出现在2018年初,但有一些限制。即 - 减少导出。因此,我们只能使用以下格式:
HTML,BMP,PNG,JPEG,GIF,TIFF,EMF。 当然,这很少。WebReport对象以html格式显示报表,因此保留了该报表。 值得注意的是,在WebReport对象中,我们只能将报表保存为fpx预览格式。
因此,您必须从应用程序代码导出报表。让我们来看看它的例子如何。 我将详细描述创建演示应用程序的整个过程,以便您可以根据需要重复。 创建一个ASP .Net Core 2.0项目。接下来,我们从NuGet存储库添加包:FastReport.OpenSource和FastReport.OpenSource.Web。 现在,您需要将FastReport库的使用添加到Startup.cs文件中 我们来使用索引视图。像这样改变它:
@using (Html.BeginForm("Save", "Home", FormMethod.Get)) { <input id="save" type="submit" value="Save report in HTML" /> } <div> <img src ='@Url.Action("GetImage")'> </div>
我们将以图片格式显示报表,以及以HTML格式下载报告的链接。 最初,我们将有一个下载按钮,启动报告文件html的形成。然后是图像。但是它的文件将从控制器中的GetImage方法动态生成。 我们去HomeController.cs控制器。我们需要这些库:
using System.IO; using System.Diagnostics; using Microsoft.AspNetCore.Mvc; using OpenSourceReportExport.Models; using FastReport; using FastReport.Export.Image; using FastReport.Export.Html; using System.Data; using Microsoft.AspNetCore.Hosting;
要在服务器上设置正确的文件路径,我们使用IHostingEnvironment接口。为此,我们将IHostingEnvironment类型的对象传递给控制器的构造函数。
public HomeController(IHostingEnvironment hostingEnvironment) { _hostingEnvironment = hostingEnvironment; } private IHostingEnvironment _hostingEnvironment;
索引方法保持不变:
public IActionResult Index() { return View(); }
添加新方法以将报告作为图像。所以我们将导出到图像,例如jpeg格式:
public IActionResult GetImage() { // Creatint the Report object using (Report report = new Report()) { string path = _hostingEnvironment.WebRootPath; // Loading a report report.Load(path + "\\App_Data\\Master-Detail.frx"); DataSet data = new DataSet(); data.ReadXml(path + "\\App_Data\\nwind.xml"); //Open xml database report.RegisterData(data, "NorthWind"); //Register data source in the report report.Prepare();// Preparing a report // Creating the Image export using (ImageExport image = new ImageExport()) { image.ImageFormat = ImageExportFormat.Jpeg; image.JpegQuality = 100; // Set up the quality image.Resolution = 100; // Set up a resolution image.SeparateFiles = false; // We need all pages in one big single file using (MemoryStream st = new MemoryStream())// Using stream to save export { report.Export(image, st); return base.File(st.ToArray(), "image/jpeg"); } } } }
第二种方法是以html格式保存导出报表。粗略地说,这种方法与前一种方法几乎相同。
[HttpGet] public ActionResult Save() { using (Report report = new Report()) { string path = _hostingEnvironment.WebRootPath; // Loading a report report.Load(path + "\\App_Data\\Master-Detail.frx"); DataSet data = new DataSet(); data.ReadXml(path + "\\App_Data\\nwind.xml"); //Open xml database report.RegisterData(data, "NorthWind"); //Register data source in the report report.Prepare();// Preparing a report // Creating the HTML export using (HTMLExport html = new HTMLExport()) { using (FileStream st = new FileStream(path + "\\App_Data\\test.html", FileMode.Create)) { report.Export(html, st); return File("App_Data/test.html", "application/octet-stream", "Test.html"); } } } }
在这个方法中我们得到了一个html文件。这意味着其中不会有图片。要使用图像保存html文件,您需要将文件保存在循环中。可以在FastReport Open Source文档中找到此类导出的示例:
//fastreports.github.io/FastReport.Documentation/Exporting.html。
让我们运行我们的应用程序:
该图像包含所有报表页面,因为我们设置了SeparateFiles属性= false。否则,您必须显示多个文件。
按下HTML中的保存报表按钮:
该文件由浏览器自动加载。 就这样。如您所见,FastReport Open Source中的代码导出实现与FastReport.Core没有区别。
购买FastReport.Net正版授权,请点击“”哟!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢