Lenka.Guo
发表于 2016-2-23 13:50:00
通过调试发现:
在Session 传对象的时候,数据丢失。
修改代码如下:
1. 在Custom.aspx.cs 中添加:
Session["pages"] = r.Document.Pages.Clone();// 将生成的报表内容页保存到 Session 中
2. 在Print.ashx.cs 中添加:
PagesCollection pages = context.Session["pages"] as PagesCollection;
SectionReport sr = new SectionReport();
sr.Document.Pages.AddRange(pages);
877121273
发表于 2016-2-23 14:57:00
问题已解决,想问下,到处excel时,提示未能加载文件或程序集“DocumentFormat.OpenXml是缺少了哪一个组件呢
Lenka.Guo
发表于 2016-2-23 15:13:00
引用DocumentFormat.OpenXml出问题了
C:\Program Files (x86)\Common Files\GrapeCity\ActiveReports 10\DocumentFormat.OpenXml.dll 在这个路径中,将DocumentFormat.OpenXml.dll添加到项目中即可。
877121273
发表于 2016-2-23 15:36:00
好了,谢谢:jy74a:
877121273
发表于 2016-2-23 15:52:00
导出的word文档没法显示网格,可是在代码里有加网格哦
Lenka.Guo
发表于 2016-2-23 17:49:00
那是因为您在加载数据时,没设置对应的TextBox 及边线。需要将textbox border 属性设置为solid。
877121273
发表于 2016-2-23 17:54:00
有哦,textBox.Border.Style = GrapeCity.ActiveReports.BorderLineStyle.Solid;,报表中显示就有网格,打印出来的就没有网格了,pdf有网格,word没有
Lenka.Guo
发表于 2016-2-24 08:54:00
:hjyzw:
877121273
发表于 2016-2-24 11:53:00
有解决方案吗
Lenka.Guo
发表于 2016-2-24 12:43:00
因为您的报表是自定义的,而且是区域报表,区域报表本就在TextBox 的边线显示上有限制。所以在导出Word的时候很多格式是不支持的,如边线等。
如果想要导出有边线,可尝试在TextBox 之间画线,使用Line 控件。如果这个方法也不能解决,那就不行。