在WebApi项目中使用FastReport.OpenSource

本文介绍一下开源报表项目FastReport.OpenSource在前后端分离项目中引入的方法与具体使用。

开发环境

后端:VS2019、.net core3.1 、WebApi

前端:  vue-element-admin

后端的开发

1.  用vs2019搭建一个.net core3.1以上版本的WebAPI项目

2. 用nuget安装FastReport.OpenSource

注意,FastReport.OpenSource.Web与FastReport.OpenSource两个均要安装上

3. 在appsettings.json中配置报表模板路径

这里还有一个报表数据源生成路径。因为本项目是由前端把要打印的数据实体传到后端生成json数据源文件

4. 相关工作

a. 建立ReportItem报表项目实体,开发ReportItem的增、删、改、查接口及界面。这个比较容易实现,不作展开说明。

b. 在网上下载fastreport.net程序进行安装,在demo中另存一个空白的模板文件,比如blank.frx, 然后开发一个windows的模板设计程序

5. 新增API控制器及开发有关接口

是的,是新增API控制器,不是mvc控制器

预览接口Preview中数据源是将json文件反序列化为DataSet, 为了能成功的反序列化在前端应注意一下生成json文件的实体结构,这一点会在前端部分提到

前端

1. 调用API将要打印的数据实体在服务端生成json文件

这里需要注意一下实体结构,因为服务端会将json文件内容转换为DataSet作为FastReport的数据源,所以这里要注意一下实体结构以方便服务端能正确的通过JsonConvert.DeserializeObject<DataSet>(jsonText)

实体结构形如:

{

表名1: [],

表名2: [],

表名3: []

}

2. 调用API打开预览页

预览效果如下:

其他:以上仅列出了大体思路和主要实现代码,具体项目中需要大家自行去完善扩充。项目中也没有提到如何设计报表模板,这要求大家对FastReport.net有基本的认识,本文不是fastReport的入门介绍。(原创作者:易国轩)


设计报表心得:在设计器中预览效果好好的,但在web中预览效果就差好多,主要表现在框中的字体挨着框线了,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容