找回密码
 立即注册

QQ登录

只需一步,快速开始

LIUZHIPENG

注册会员

7

主题

30

帖子

115

积分

注册会员

积分
115
LIUZHIPENG
注册会员   /  发表于:2024-5-7 09:51  /   查看:2519  /  回复:7
1金币
本帖最后由 LIUZHIPENG 于 2024-5-7 11:42 编辑

SpreadJS不能插入新的单元格,因为它会把非空的单元格从工作表的末端推出去.

iShot_2024-05-07_11.41.40.png



也设置了rowCount ,还是出现此问题
  1. spread.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, (event, data) => {
  2.         //遍历spreadObj 所有sheet
  3.         let sheetCount = spreadObj.getSheetCount()
  4.         //缩放设置 100%
  5.         for (let i = 0; i < sheetCount; i++) {
  6.           let sheet = spreadObj.getSheet(i)
  7.           //获取原rowCount,进行+60
  8.           let rowCount = sheet.getRowCount()
  9.           sheet.setRowCount(rowCount + 60)
  10.           sheet.zoom(1, 1)
  11.         }
  12.         //触发设置下拉选项
  13.         // this.setAllSheetSelect()
  14.       })
复制代码

最佳答案

查看完整内容

我明白了,不能按行全选中,要选择部分单元格进行右键复制插入复制的单元格

7 个回复

倒序浏览
最佳答案
最佳答案
LIUZHIPENG
注册会员   /  发表于:2024-5-7 09:51:47
来自 7#
LIUZHIPENG 发表于 2024-5-20 13:48
设置了一千行不管用,我不是使用的数据绑定,而是拿到后台数据后遍历直接按行写入模板

我明白了,不能按行全选中,要选择部分单元格进行右键复制插入复制的单元格
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-5-7 10:57:34
2#
您好,没太理解您的意思,您是说一个sheet有10行, 右键新插入一行后,会导致A10单元格内容不见了是吗。但是我这儿没有复现您的问题,A10单元格内容会下移到A11单元格中,并不会因为超出sheet的原来的行数导致数据丢失
回复 使用道具 举报
LIUZHIPENG
注册会员   /  发表于:2024-5-7 11:43:43
3#
Richard.Huang 发表于 2024-5-7 10:57
您好,没太理解您的意思,您是说一个sheet有10行, 右键新插入一行后,会导致A10单元格内容不见了是吗。但 ...

我把图片上传了,右键插入复制的单元格提示信息如下
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-5-7 15:31:21
4#
LIUZHIPENG 发表于 2024-5-7 11:43
我把图片上传了,右键插入复制的单元格提示信息如下

了解了,猜测是因为您在做表格数据绑定时,数据会超出sheet的行数导致的该问题,您可以尽量保证您的sheet行数足够,其次查看您的代码,您需要在文件导入结束后重新获取spreadObj:var spreadObj= spread.getWorkbook(); 然后保证您设置的行数也尽量足够您可以换一个更大的数字,保证您的sheet的行数超过您table中的数据条数
  1. spread.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, (event, data) => {
  2.   //遍历spreadObj 所有sheet
  3.   let spreadObj = spread.getWorkbook();
  4.   let sheetCount = spreadObj.getSheetCount(); //缩放设置 100%
  5.   for (let i = 0; i < sheetCount; i++) {
  6.     let sheet = spreadObj.getSheet(i); //获取原rowCount,进行+60
  7.     let rowCount = sheet.getRowCount();
  8.     sheet.setRowCount(rowCount + 1000);
  9.     sheet.zoom(1, 1);
  10.   } //触发设置下拉选项 // this.setAllSheetSelect()
  11. });
复制代码

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-14 17:54:27
5#
没有看到您再回复,这个帖子先结帖了。如果有新的问题,可以发新帖沟通
回复 使用道具 举报
LIUZHIPENG
注册会员   /  发表于:2024-5-20 13:48:09
6#
Richard.Huang 发表于 2024-5-7 15:31
了解了,猜测是因为您在做表格数据绑定时,数据会超出sheet的行数导致的该问题,您可以尽量保证您的sheet ...

设置了一千行不管用,我不是使用的数据绑定,而是拿到后台数据后遍历直接按行写入模板
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-5-20 16:37:58
8#
LIUZHIPENG 发表于 2024-5-20 14:05
我明白了,不能按行全选中,要选择部分单元格进行右键复制插入复制的单元格

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部