找回密码
 立即注册

QQ登录

只需一步,快速开始

315834729

论坛元老

5

主题

18

帖子

5311

积分

论坛元老

积分
5311

活字格认证

[已处理] 打印问题

315834729
论坛元老   /  发表于:2012-11-28 16:59  /   查看:5831  /  回复:8
今天我试了一下,如果直接调用 this.fpSpread1.PrintSheet(fpSpread1.ActiveSheet); 打印出的效果就能满足,我猜是直接调用的Excel模板的设置,然后我手动的设置下,外边框很粗,没设边框的单元格也打印出了淡淡的线,怎么才能实现直接调用 this.fpSpread1.PrintSheet(fpSpread1.ActiveSheet); 的效果呢,我的代码如下,我加载的Excel模板
FarPoint.Win.Spread.PrintInfo pi = new FarPoint.Win.Spread.PrintInfo();
                 
                //显示打印对话框,设置打印机、纸张、横行、纵向
                pi.ShowPrintDialog = true;
                //打印预览
                pi.Preview = true;
                //pi.ShowBorder = false;
                pi.ShowColor = false;
                //打印的标题
                // pi.Header = "abcdefg";
                //不打印行的"1,2,3,4"行号
                //不打印列的“A,B,C,D”列号
                pi.ShowColumnHeader = PrintHeader.Hide;
                pi.ShowRowHeader = PrintHeader.Hide;
                pi.PaperSize = new System.Drawing.Printing.PaperSize("A4", 826, 1169);
                // pi.ShowShadows = false;
                // 设置纸张的打印方向
               
                pi.Margin.Left = 1;
                pi.Margin.Top = 1;
                pi.Opacity = 0;
                //fpSpread1.ActiveSheet.HorizontalGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.None);
                //fpSpread1.ActiveSheet.VerticalGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.None);
               
                //要打印的工作簿
                fpSpread1.ActiveSheet.PrintInfo = pi;
                this.fpSpread1.PrintSheet(fpSpread1.ActiveSheet);

8 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-28 17:58:00
沙发
回复 1楼315834729的帖子

315834729 你好

我会在测试你的代码之后给你回复。
回复 使用道具 举报
315834729
论坛元老   /  发表于:2012-11-29 08:34:00
板凳
还有一个问题,如果是直接加载Excel 模板,直接调用this.fpSpread1.PrintSheet(fpSpread1.ActiveSheet);不用PrintInfo 那页面设置,横向纵向等是否是跟Excel中的设置一样
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-29 16:26:00
地板
回复 3楼315834729的帖子

315834729 你好

请问你说的边线太粗是指的哪个边线呢,能否截个图来看一看,此外我看你代码中也设置了ShowBorder属性,该属性是用于控制整个Spread控件的外边框的。

Spread 打开 Excel之后,打印方向和Excel中的相同,如果不需要修改打印方式是不需要再次设置的PrintInfo的
回复 使用道具 举报
315834729
论坛元老   /  发表于:2012-12-1 08:39:00
5#

打印问题

效果图.jpg (96.55 KB, 下载次数: 279)
回复 使用道具 举报
315834729
论坛元老   /  发表于:2012-12-1 08:51:00
6#
上图是我设置了showboder =fales后的没有外边粗线了但是最左边的那根线没有显示,excel模板中完全正常。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-12-3 17:44:00
7#
315834729 你好

会不会是因为左边边线超出了打印范围,你可以使用下面的代码测试机型打印测试:
  1.             PrintInfo pi = fpSpread1.ActiveSheet.PrintInfo;
  2.             pi.Margin = new PrintMargin();
  3.             pi.Margin.Left = 100;
  4.             pi.ShowBorder = false;
  5.             this.fpSpread1.PrintSheet(fpSpread1.ActiveSheet);
复制代码


如存在问题,请发一个能够重现你问题的Demo给我们,这样可以加速调查你的问题。
回复 使用道具 举报
315834729
论坛元老   /  发表于:2012-12-4 11:30:00
8#
谢谢,跟你最后说的一样
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-12-4 17:11:00
9#
OK!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部