找回密码
 立即注册

QQ登录

只需一步,快速开始

石大正信
初级会员   /  发表于:2024-11-11 21:41  /   查看:77  /  回复:9
1金币
多个sheet组合在一起,调用setColumnWidth时,会把所有sheet里的列宽都调整了?怎么避免呢?只想调整单个sheet里的列宽。

9 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:昨天 08:40
沙发
您好!setColumnWidth是Worksheet用以设置列宽的接口,只对调用者Worksheet有效,您提到的“多个sheet组合在一起”是指将多个sheet的内容复制粘贴至一个单独的sheet中吗?
回复 使用道具 举报
石大正信
初级会员   /  发表于:昨天 08:45
板凳
sheet是单独的
sheet.setColumnWidth(0, 150.0, GC.Spread.Sheets.SheetArea.viewport)
这种情况是将所有sheet的0列都调整为150吧?我想只调一个
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:昨天 11:20
地板
石大正信 发表于 2024-11-12 08:45
sheet是单独的
sheet.setColumnWidth(0, 150.0, GC.Spread.Sheets.SheetArea.viewport)
这种情况是将所 ...

单独sheet调用setColumnWidth确实只会调整调用者sheet中指定列的宽度,如您提供的代码,将调整sheet中索引为0的列的宽度,不影响Workbook中其他sheet的列宽。如下动图所示:
接口调整列宽.gif

您可以对比动图中的测试场景是否与您的业务场景中“多个sheet组合在一起”一致,如不一致,需要介绍下“组合sheet”的方式,以及您使用的版本号。
回复 使用道具 举报
石大正信
初级会员   /  发表于:昨天 14:10
5#
最终目的是导出PDF文件,将多个调整好宽度和高度的sheet,用mySpread.toJSON({ includeBindingSource: true })导出,用addSheet增加到同一个spread中,只有第一个sheet的格式是正确的,其他都又变化。如果单独导出都符合我调整的格式。
回复 使用道具 举报
石大正信
初级会员   /  发表于:昨天 14:14
6#
和模板是否有关系,我是调用的同一个模板,感觉是按最后一次调整的格式
回复 使用道具 举报
石大正信
初级会员   /  发表于:昨天 14:37
7#
是模板的原因,调整一个,其他的也跟着变,这种场景,怎么处理
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:昨天 17:35
8#
石大正信 发表于 2024-11-12 14:37
是模板的原因,调整一个,其他的也跟着变,这种场景,怎么处理

请问您说的”模板“是最终导出的粘贴了不同sheet的Workbook吗?
回复 使用道具 举报
石大正信
初级会员   /  发表于:昨天 21:03
9#
设计器设计的,后缀是.ssjson的文件
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:6 小时前
10#
石大正信 发表于 2024-11-12 21:03
设计器设计的,后缀是.ssjson的文件

需要您提供一个能够复现问题的demo,同时提供一个录屏演示操作,我们据此来复现问题再分析。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部