找回密码
 立即注册

QQ登录

只需一步,快速开始

dengweifan

中级会员

4

主题

31

帖子

997

积分

中级会员

积分
997

活字格认证

最新发帖
dengweifan
中级会员   /  发表于:2010-11-25 10:39  /   查看:13093  /  回复:13
我现在用 ActiveReports for .NET 6.0J Professional 做Excel导出,想知道如何设置Excel打印预览的百分比和打印线

13 个回复

倒序浏览
gw0506
超级版主   /  发表于:2010-11-25 10:41:00
沙发
你指的是导出到Excel之后,Excel的打印预览功能的相关设置么?
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-11-25 10:43:00
板凳
嗯,是的
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-11-25 10:46:00
地板
Excel的打印预览,不受ActiveReport影响。这是两回事~
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-11-25 10:49:00
5#
如果我做的报表,列很长,但是想在一页里打印出来怎么设置?
我能不能设置报表中的百分比,然后按百分比导入到Excel中?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-11-25 10:53:00
6#
可以调整PrintInfo.ZoomFactor属性调整缩放比例。
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-11-25 11:08:00
7#
请问这个 PrintInfo.ZoomFactor 属性在哪个里面?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-11-25 11:56:00
8#
不好意思,AR里面没有PrintInfo对象。
如果你想将数据显示在一页里,通常是将CanGrow置为false,然后调整字体大小,尽量让数据显示在一页中,这样打印出来的效果就是在一页纸上。

导出Excel不能控制导出比例。不过通过Excel打印出来,可以修改Excel中的Scale设置调整比例。
回复 使用道具 举报
dengweifan
中级会员   /  发表于:2010-11-25 12:38:00
9#
我现在的报表导出Excel后,由于列头过多,打印预览时以A4纸张大小打印时,列头分3页显示了。
有没有方法让Excel 列头在一页打印出来?

数据行可以分页打印,主要是因为表头过长,连表头也分页打印了。

rpt.PageSettings.Orientation=DataDynamics.ActiveReports.Document.PageOrientation.Portrait;
rpt.PageSettings.Margins = new DataDynamics.ActiveReports.Document.Margins((float)0, (float)0, (float)0, (float)0);
目前设置报表的显示方式和打印余白导入到Excel后都是保留的,打印比率没有相关的属性设置吗。
不知道导出Excel的时候能不能往Excel里写宏,通过宏去控制。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-11-25 13:56:00
10#
你描述的过程我理解是这样的:
1. 通过xlsExport.Export()接口将report导出到Excel文件。
2. 在Excel文件中调整设置,并通过打印机打印到纸上。
第1步你是完成了,并且没有问题。
主要是你希望在第2步中,调整打印比率,最终打印到纸张上是表头在一页上。对吧。

那么现在要解决这个问题,你需要调整Excel中的Page Layout中的Scale设置。默认是100%。然后你在使用Excel的打印预览,看是否满足要求。关于Excel中Scale的设置参见下图(以Office2007)为例:

本帖子中包含更多资源

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

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部