找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

超级版主

200

主题

9897

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
15523

讲师达人悬赏达人微信认证勋章SpreadJS 认证SpreadJS 高级认证元老葡萄

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-31 09:13  /   查看:2591  /  回复:0
SpreadJS的打印功能可以指定某一个Sheet进行打印
  1. spread.print(sheetIndex);
复制代码

其中参数为需要打印sheet的index,传入sheet的index打印指定sheet。如果想全部打印,参数什么都不传即可。
那么,如果打印多个sheet,但不是所有sheet。例如:spread中有四个sheet,如何打印其中的两个?这个时候该怎么办呢?

之前我们写过博客,博客中的解决方法是:
需要将spread复制到一个临时spread中,在临时spread中删除不打印的sheet,然后打印临时spread。

但遇到存在公式跨sheet引用的情况下,这样的做法可能会出现问题。如果删除的sheet中的某些单元格被其他sheet所引用,那么删除之后公式的结果将变成#Value。这样也会造成打印结果变成#Value。这就不符合需求了。所以我们需要在之前的解决方案的基础上做一些改进。

改进的思路:
可以利用打印所见即所得的原理,将之前的删除不打印的sheet变为隐藏不打印的sheet。虽然sheet隐藏了,但是引用的公式结果并不会发生改变(sheet仍然存在在工作簿中)。


具体做法我们可以参考附件的demo





指定打印多个Sheet.html

2.81 KB, 下载次数: 55

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部