找回密码
 立即注册

QQ登录

只需一步,快速开始

安泰得

金牌服务用户

43

主题

106

帖子

421

积分

金牌服务用户

积分
421
安泰得
金牌服务用户   /  发表于:2019-3-26 17:27  /   查看:2804  /  回复:6
本帖最后由 安泰得 于 2019-3-26 17:29 编辑

微信截图_20190326171938.png
如图所示,参考了论坛另一个帖子的内容(https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=43400&extra=
然而并没有解决问题- -不清楚是代码有问题还是模板有问题
请问怎么处理这个问题附代码:
excelPrint=function(){
        var printInfo=spread.sheets[0].printInfo().columnStart(1);
        printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a3));
        printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);
        printInfo.showBorder(false);
        printInfo.showRowHeader(false);
        printInfo.showColumnHeader (false);
        printInfo.showGridLine(false);
        printInfo.margin({ top:0, bottom: 0, left: 0, right: 0, header: 0, footer: 0 });
        printInfo.centering(3);
        spread.print();
}

附ssjson
ssjson.rar (4.03 KB, 下载次数: 57)

6 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-26 18:25:00
沙发
您好,用这段代码试试:

  1. var sheet = spread.getActiveSheet();
  2.             sheet.options.rowHeaderVisible = false;
  3.             sheet.options.colHeaderVisible = false;
  4.             sheet.printInfo().paperSize(new GC.Spread.Sheets.Print.PaperSize(900, 1300));
  5.             sheet.printInfo().centering(GC.Spread.Sheets.Print.PrintCentering.both);
  6.             sheet.printInfo().margin({ top: 10, bottom: 0, left: 10, right: 10, header: 0, footer: 0 });sheet.printInfo().orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);sheet.printInfo().zoomFactor(0.75);
复制代码
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2019-3-27 09:38:57
板凳
KevinChen 发表于 2019-3-26 18:25
您好,用这段代码试试:

虽然是不分页了,但是zoom后这样式过不了关啊 微信截图_20190327092405.png
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-27 12:01:18
地板
没注意到您打印的纸张是a3的,实际上SpreadJS的纸张设置可以很灵活,如图:

image.png183872374.png

这里可以修改纸张尺寸,只要在浏览器中选择对应的纸张,就可以正常打印。

通常来讲,打印有空白页,都是由于纸张尺寸设置不合适导致的,

如果有空白页出现,可以通过调整纸张尺寸来解决。
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2019-3-27 14:25:55
5#
本帖最后由 安泰得 于 2019-3-27 14:30 编辑
KevinChen 发表于 2019-3-27 12:01
没注意到您打印的纸张是a3的,实际上SpreadJS的纸张设置可以很灵活,如图:
  1. excelPrint1=function(){
  2.         var printInfo=spread.sheets[0].printInfo();
  3.     sheet.options.rowHeaderVisible = false;
  4.     sheet.options.colHeaderVisible = false;
  5.         //a3大小
  6.     printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize(GC.Spread.Sheets.Print.PaperKind.a3));
  7.     printInfo.centering(GC.Spread.Sheets.Print.PrintCentering.both);
  8.     printInfo.margin({ top: 10, bottom: 0, left: 10, right: 10, header: 0, footer: 0 });
  9.     printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);
  10.     printInfo.zoomFactor(0.75);
  11.    
  12.         spread.print();
  13. }
复制代码


这么写,打印时候选的A3,无边距,然而还是两页 微信截图_20190327092405.png

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-27 18:04:41
6#
A3打印的效果如图:

image.png712408141.png

代码如下:

  1. var sheet = spread.getActiveSheet();
  2.             sheet.options.rowHeaderVisible = false;
  3.             sheet.options.colHeaderVisible = false;
  4.             // sheet.deleteColumns(0,1);
  5.             // sheet.printInfo().paperSize(A4);
  6.             sheet.printInfo().paperSize(new GC.Spread.Sheets.Print.PaperSize(1200, 1800));
  7.             sheet.printInfo().centering(GC.Spread.Sheets.Print.PrintCentering.both);
  8.             sheet.printInfo().margin({ top: 0, bottom: 0, left: 0, right: 10, header: 0, footer: 0 });
  9.             // sheet.printInfo().orientation(GC.Spread.Sheets.Print.PrintPageOrientation.portrait);
  10.             sheet.printInfo().orientation(GC.Spread.Sheets.Print.PrintPageOrientation.landscape);
  11.             sheet.printInfo().zoomFactor(1.2);
复制代码
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-27 18:06:06
7#
printInfo.margin({ top: 10, bottom: 0, left: 10, right: 10, header: 0, footer: 0 }); margin设成0,有可能是margin撑出去的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部