找回密码
 立即注册

QQ登录

只需一步,快速开始

frank.zhang
社区贡献组   /  发表于:2015-6-16 12:29:00
36#
您好,
在您提交了这个问题后,我们已经将这个问题反馈给产品研发同事。如果有任何的进展,我会尽快通知给您。

由于考虑到您的项目比较紧急,我们正在想一些可以替代的方案来解决这个问题。我们会尽快制作一个例子程序。由于没有类似的例子,我们重新制作需要一些时间。
请您谅解。

目前的问题,我理解是:多个参数的报表,在MVC 4 下导出为无格式的excel文件。
如果有不正确的,希望补充。
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-16 11:47:00
35#
回复 34楼frank.zhang的帖子

您好,
  1. rpt.Report.ReportParameters[0].DefaultValue.Values.Add(
复制代码
这种赋值方式比给我的demo里要好一点,但在asp.net mvc 里赋值的时候,值的来源从哪里来?我们说前台request、后台response这是http请求方式,我们的报表是基于web的,其实归根揭底我们需要解决的问题是,参数怎么前台传入,后台接收的问题,我之前说的表单提交参数,不是非得用到js来获取参数,像传统的这种<form></form>也可以的。你之前有提供asp.net webform导出的demo,有没有mvc的按条件导出报表的demo,如果有麻烦提供下。thx
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-16 10:14:00
34#
您好,
这个问题经过跟产品经理和相关开发人员进行沟通。目前的最好使用后台导出的方式,因为这种方式比较可靠。
我们会尝试使用前台js来取得参数,然后传到后台使用
  1. rpt.Report.ReportParameters[0].DefaultValue.Values.Add(
复制代码

的方式进行赋值。

这个方案的优势在于,对于之前的报表模板都不需要修改。只是对需要打印模板多进行一个参数的赋值。
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-15 18:17:00
33#
回复 31楼frank.zhang的帖子

您好,
刚看了你给我附件里的demo 基于Asp.net Webform。实现方式有点牵强,过于复杂,为什么不可以像传统的表单一样直接submit到后台去呢,而是通过这种非常复杂的实现方式,你给的demo里只有一个参数,像我们要做一个复杂 一点的报表,有很多个检索条件,岂不是要话很长的时间,sql语句在后台重复拼写,对于整体的代码结构有点让人失望。我们前端框架用的是 Asp.net MVC 而非传统的 Asp.net Webform,这样的实现方式转移到mvc里,又增加了复杂度。请问,你们还有其他比较好一点的实现按条件导出的方法么,如果有 最好提供一下在Asp.net MVC框架里的实现方式,非常谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-15 17:10:00
32#
您好,
我们有一个动态参数导出的例子程序。您可以先参考下。


回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-15 17:10:00
31#
您好,
我们有一个动态参数导出的例子程序。您可以先参考下。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-15 16:30:00
30#
嗯,你给后台的导出代码,如何将前端的条件带过来呢,根据条件导出,比如我前端 有根据日期进行导出,如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-6-15 13:46:00
29#
您好,
经过调查后发现,在设置MultiSheet和Pagination,这两个参数后,系统会将每页的记录取出来,然后计算去掉头,再放进一页当中。
我这边的现象是计算机会卡死,不能导出数据。

由于计算量很大,所有暂时没有好的办法。

但是,我这边可以提供一个替代的方案。使用服务器端的代码进行导出,按照无格式的数据导出。
  1.         protected void Button2_Click(object sender, EventArgs e)
  2.         {
  3.             string report = &quot;RPT004&quot;;
  4.             // Provide the page report you want to render.
  5.             GrapeCity.ActiveReports.PageReport _reportDef = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath(&quot;/Reports/&quot; + report + &quot;.rdlx&quot;)));

  6.             GrapeCity.ActiveReports.Document.PageDocument _reportRuntime = new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);

  7.             // Create an output directory
  8.             System.IO.MemoryStream ms = new System.IO.MemoryStream();

  9.             // Provide settings for your rendering output.
  10.             GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings
  11.             excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();

  12.             GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;

  13.             //Set the rendering extension and render the report.
  14.             GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice
  15.             excelRenderingExtension = new
  16.             GrapeCity.ActiveReports.Export.Excel.Page.ExcelTransformationDevice();

  17.             GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.MemoryStreamProvider();
  18.             _reportRuntime.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());

  19.             Response.ContentType = &quot;application/vnd.ms-excel&quot;;
  20.             Response.AddHeader(&quot;content-disposition&quot;, &quot;inline;filename=MyExport.xls&quot;);
  21.             outputProvider.GetPrimaryStream().OpenStream().CopyTo(ms);
  22.             Response.BinaryWrite(ms.ToArray());
  23.             Response.End();
  24.         }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-15 12:02:00
28#
回复 26楼frank.zhang的帖子

您好!请问这个问题有什么进展么?
回复 使用道具 举报
postmanlly
社区贡献组   /  发表于:2015-6-12 17:49:00
27#
好的,谢谢! 现在即便是在不带任何参数的情况下,也出现了这个问题,就是我发的例子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部