从动态构建的数据集创建报告

问题描述

我很难提出一种生成报告的方法(通过xlsx或MS报表查看器)。最大的问题是我的数据集是动态创建的。这就是我所拥有的:

一个或多个终端会定期向云托管的数据库填充有关信息来自何处,全局密钥以及与该对(起源,密钥)相对应的值的信息。

所以我最终得到一个像这样的表:

(?= \|)

我制作了一个应用程序,将其转换为每个TERMINAL_NO都有一列的数据集,每一行都是每个不同的GLOBAL_KEY,并为每对存储了对应的DECIMAL_VALUES。但是,这就是问题所在-我找不到一种使用动态创建的数据集生成报告或xlsx文件方法,因为我知道它们都需要使用类型化的数据集才能使用。

是否有更简单的方法来收集这些数据,或者我做错了吗?

08-15-20编辑 按照@jdweng,我确实尝试了此处描述的方法,但是无法使reportViewer显示实际数据。目前,我有以下内容

TERMINAL_NO|GLOBAL_KEY|DECIMAL_VALUE
===========|==========|=============
123        |9876      |1.00
123        |9875      |0.50
123        |9872      |-4.00
234        |9876      |3.00
234        |9875      |5.45
234        |9872      |2.50

但是,我所得到的只是winformshost控件中的一个空报表查看器。

解决方法

按照@nbk的建议,我使用了Nadir(https://www.codeproject.com/Tips/888174/Dynamically-Creating-an-RDLC-Report-Just-Using-a-D)通过使用提供的.cs文件制作的报告生成器代码。

只需在xaml上进行一些更改,因为我没有使用徽标图像。我已经有了我的数据集(只需将列名更改为与cls兼容),它就可以完美地工作。我不必使用userControl文件夹,因为我正在使用WPF,并且已经有一个带有formformviewer控件的winforms宿主控件。