2

我正在制作一个 Web 应用程序,并且在我的某些页面上使用 RDLC 将数据纯粹导出到用户特定的 UI。

我没有在 UI 端使用 reportviewer 来显示报告预览,用户只需单击导出按钮,在后面的代码中我正在创建 reportviewer 和绑定的对象,从那里传递数据/参数。之后只需使用它的 Render 方法获取字节数组并将其发送给用户。我已参考此链接 为 ReportViewer (rdlc) 创建自定义导出到 Excel

现在真正的问题出现了,当我要导出大约 1000+ 的大量数据时,我相信渲染方法花费了太多时间,因此浏览器(chrome)在 4-5 分钟后显示“未收到数据”的消息.

所以我在想,我可以分块导出数据,然后将流传递给用户,以便用户不断获取数据。我遇到了http://msdn.microsoft.com/en-us/library/ms251837(v=vs.80).aspx的页面,它使用“CreateStreamCallback”在打印时创建流。

为了出口目的,我能做些什么吗?有没有其他方法可以使这种出口顺利进行?我使用了 RDLC,因为用户希望以特定格式和 DOC、PDF、XLS 等各种文件格式导出。

感谢您的时间。任何帮助都感激不尽。

4

0 回答 0