找回密码
 立即注册

QQ登录

只需一步,快速开始

kkij

金牌服务用户

19

主题

72

帖子

211

积分

金牌服务用户

积分
211
kkij
金牌服务用户   /  发表于:2018-12-27 16:46  /   查看:5126  /  回复:7
用了setColumnVisible设置列隐藏,导出excel的时候隐藏列还是出现在excel中,如何不导出隐藏列?

7 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-27 17:35:08
沙发
您好,目前SpreadJS不支持这种操作,

最简单的办法就是在执行导出操作前把隐藏列删除掉。

您能否详细描述一下您的应用场景?我们看看能否从其他思路解决您的问题。
回复 使用道具 举报
kkij
金牌服务用户   /  发表于:2018-12-28 08:27:19
板凳
KevinChen 发表于 2018-12-27 17:35
您好,目前SpreadJS不支持这种操作,

最简单的办法就是在执行导出操作前把隐藏列删除掉。

有个id列,界面不显示,用来编辑保存的唯一标识,如果导出时删除,那么后面编辑保存就没有id了
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-28 10:24:33
地板
kkij 发表于 2018-12-28 08:27
有个id列,界面不显示,用来编辑保存的唯一标识,如果导出时删除,那么后面编辑保存就没有id了

您好,

如果您只是希望在导出的Excel文档中不包含隐藏列,

那么可以在导出前,克隆一个spread实例,然后在这个克隆体上删除所有隐藏列后再执行导出,

这样就不会对您的SpreadJS 文档带来数据的损失了。

您可以通过toJSON + fromJSON的方式来克隆Spread实例。

回复 使用道具 举报
表格6666
金牌服务用户   /  发表于:2023-10-9 20:43:06
5#
KevinChen 发表于 2018-12-28 10:24
您好,

如果您只是希望在导出的Excel文档中不包含隐藏列,

能否提供一个示例,如何删除隐藏列
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-10-10 09:30:34
6#
参考下方代码:
  1. var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), {
  2.                 sheetCount: 1
  3.             });
  4.             var sheet = spread.getActiveSheet();
  5.             sheet.setValue(0, 0, "a");
  6.             sheet.setValue(1, 0, "b");
  7.             sheet.setValue(2, 0, "c");
  8.             // 隐藏B列
  9.             sheet.setColumnVisible(1, false);
  10.             //复制新spread
  11.             var newSpread = new GC.Spread.Sheets.Workbook();
  12.             newSpread.fromJSON(JSON.parse(JSON.stringify(spread.toJSON())));
  13.             // 删除B列
  14.             newSpread.getActiveSheet().deleteColumns(1, 1);
  15.             // 对新spread做导出excel处理,此处省略
  16.             console.log(newSpread.toJSON());
复制代码
回复 使用道具 举报
表格6666
金牌服务用户   /  发表于:2023-10-11 10:43:08
7#

这例子没解决我的问题~
我知道如何删除列,但是不知道如何删除隐藏列
怎么知道我一个workBook里哪些列是隐藏列
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-10-11 10:49:07
8#
表格6666 发表于 2023-10-11 10:43
这例子没解决我的问题~
我知道如何删除列,但是不知道如何删除隐藏列
怎么知道我一个workBook里哪些列 ...

最简单的方法就是通过遍历和getColumnVisible接口的方式来实现。


image.png45197447.png

遍历每一列并执行getColumnVisible接口即可获取列隐藏的信息。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部