(一)简介
Mono是一个基于.NET Framework的开源开发平台,允许开发人员创建跨平台应用程序。Mono .NET的实现基于C#和公共语言基础结构的ECMA标准。最初,Mono是由Novell开发的,然后由Xamarin开发,现在由Microsoft开发。Mono包括开发人员工具和运行.NET客户端和服务器应用程序所需的基础结构,Mono平台包含几个组件:C#编译器支持,C#标准1.0,2.0,3.0,4.0,5.0和6.0(ECMA)。
Mono Runtime是ECMA公共语言基础结构(CLI)框架,运行时由Just-in-Time(JIT)编译器,Ahead-of-Time编译器(AOT),库加载器,garbage收集器等提供。
(二).NET Framework类库
Mono平台提供了WinForms,ADO.Net,ASP.Net等库的实现,单声道类库 ,许多类都是专门为Mono创建的,它们超出了Microsoft提供的基类库。尽管开发人员对Mono平台持有偏见态度,但许多知名公司都使用它,例如:
- Novell将Mono用于客户端和服务器应用程序
- Unity Technologies在Unity 3D计算机游戏模拟工具中使用Mono,这使得创建跨平台视频游戏成为可能
- Artisteer使用Mono将其网页设计师转移到另一个平台,从2.2版开始,您可以使用Mono运行您的软件
由于没有那么多的跨平台生成器,但真正好的生成器可以用手指,FastReports决定为Mono创建一个报表生成器。此外,还有一个现成的流行报表生成器FastReport.Net,在此基础上创建了FastReport.Mono。它出现在2013年,当时它重复了FastReport.Net的功能。但是,目前它们之间存在差异,Mono框架下的其他报表生成器具有丰富的功能。
FastReport.Mono提供什么?
- 用户友好且功能强大的报表设计器
- 连接到任何数据库,不仅仅是文本文件也可以是数据源或者XML和JSON
- 存在内置报表脚本,可以直接在报表中使用Mono库来生成数据转换,还可以使用报表对象
- 基于ASP.Net的Web报表
使用FastReport.Mono,可以在不同的操作系统中工作。当然,Mono是一个跨平台的框架。因此,有可用的系统:Windows,MacOs,Linux系列。要使用Mono,并使用FastReport.Mono,以下开发环境是合适的:
- Microsoft Visual Studio(在Windows下)
- MonoDevelop(Windows,MacOs,Linux)
- Embarcadero Delphi Prism(Windows,MacOs,Linux)
使用FastReport.Mono的编程语言:C#,VB.Net,Oxygene(Embarcadero Delphi Prism)。
内置报告脚本的语言:C#,VB.Net。默认情况下可用的数据源是XML,CSV。要连接到数据库,您需要使用用户应用程序的数据源或系统中安装的外部连接器,报表生成器的功能:
- 对话框表单——在显示报表之前,您可以显示带有控件的表单,通过这种方式,报表用户可以设置报表显示选项,例如,过滤所需的值。
- 报表继承——将报表用作其他人的初始模板的特性,当制作许多类似的报表时,十分很方便。此外,对基本报表的更改将显示在所有继承的报表中。
- 预览报表组件——允许用户通过显示报表计划,在页面之间导航来查看报表并执行导出,发送电子邮件和管理查看。
- 报表设计器可以作为独立程序单独调用,可以在用户应用程序开发期间调用,也可以在用户应用程序执行期间调用。后一种选择非常有趣。实际上,您将设计器嵌入到程序中,并使用户能够自行编辑报表。
- 高级打印模式——打印设置非常丰富。
Web报表通过ASP.Net和ASP.Net MVC实现,可能的导出报表列表:
- Acrobat PDF;
- Images Jpeg/PNG/BMP/GIF/TIFF;
- RichText;
- Word OOXML (docx);
- PowerPoint OOXML (pptx);
- HTML;
- MHT (web archive);
- Microsoft XPS;
- Excel OLE;
- Excel XML;
- Excel binary (xls);
- Excel OOXML (xlsx);
- Comma separated values (CSV);
- DBF (table);
- Open Document Speadsheet (OpenOffice);
- Open Document Text (OpenOffice);
- Email;
- PostScript;
- Json;
- LaTex;
- FTP;
- Text File / Matrix Printer;
- Clouds (DropBox);
- Clouds (Box);
- Clouds (FastReport Cloud);
- Clouds (GoogleDrive);
- Clouds (OneDrive):报表保存到云服务
报表文件的格式为frx,与FastReport.Net中的格式相同,事实上,报表在FR.Net和FastReport.Mono之间是兼容的,这是Mono平台的标志:
FastReport.Mono标志:
将FastReport.Net转移到Mono平台是一个战略上正确的决定。