找回密码
 立即注册

QQ登录

只需一步,快速开始

lynn8588

金牌服务用户

40

主题

161

帖子

415

积分

金牌服务用户

积分
415
lynn8588
金牌服务用户   /  发表于:2023-4-10 14:51  /   查看:2778  /  回复:11
1金币
Hi team,

我们这里会偶发这样的问题,经过排查发现是调用GCExcel insert后,Excel文件列数就会变很大,然后发现getEntireRow方法获取到的列数有1万多,但是sheet本身的行数是10列。而且很奇怪有时候打开excel浏览是很多列可以显示(即滚动条很长),有时候打开Excel时发现滚动条很短,可以正常浏览。附件有代码。
麻烦帮忙看下这个问题,插入行的时候到底复制多少列,因为这个列数一多就导致加载到前端spreadjs里插行功能直接卡死。
image.png428623046.png

GCExcelTest.zip

18.06 KB, 下载次数: 279

最佳答案

查看完整内容

这块代码改一下 将循环中的current.getColumnCount();在循环外部用变量接着,然后循环中用变量代替。 感觉可能是传参引用的问题

11 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-10 14:51:13
来自 10#
这块代码改一下
image.png32598875.png
将循环中的current.getColumnCount();在循环外部用变量接着,然后循环中用变量代替。
感觉可能是传参引用的问题
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-10 19:26:56
2#
因为Excel是无限行无线列的,所以建议您用getColumnCount这个接口来获取列数
worksheet.getRange(39, 0).getColumnCount()来获取
getEntireRow.getColumnCount()会按照Excel得方式来获取列数,该结果会很大且并不是有效列数
回复 使用道具 举报
lynn8588
金牌服务用户   /  发表于:2023-4-11 09:41:14
3#
Clark.Pan 发表于 2023-4-10 19:26
因为Excel是无限行无线列的,所以建议您用getColumnCount这个接口来获取列数
worksheet.getRange(39, 0).g ...

你好,我的问题关键不是要获取列数,而是插行,因为发现插行后列数增多,导致文件过大。所以请问我要怎么插行才不会导致列数增多?
回复 使用道具 举报
lynn8588
金牌服务用户   /  发表于:2023-4-11 10:28:17
4#
lynn8588 发表于 2023-4-11 09:41
你好,我的问题关键不是要获取列数,而是插行,因为发现插行后列数增多,导致文件过大。所以请问我要怎么 ...

请看附件视频中问题描述

issue vedio.zip

9.89 MB, 下载次数: 267

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-11 17:27:17
5#
用你的demo去尝试也没有重现这个问题。
image.png464938353.png
并且如果不用getEntireRow也是可以插行的。如下面代码所示
  1. workbook.getActiveSheet().getRange(39, -1).insert();
复制代码
回复 使用道具 举报
lynn8588
金牌服务用户   /  发表于:2023-4-11 19:34:30
6#
Clark.Pan 发表于 2023-4-11 17:27
用你的demo去尝试也没有重现这个问题。

并且如果不用getEntireRow也是可以插行的。如下面代码所示

1.你说的这个方法我也试过也不行,请看demo视频里
2.我也说了这个问题是偶现,但是就是存在,请看demo视频
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-12 13:37:05
7#
1.还是没搞清楚为什么上面方法不行
2,既然问题是偶现的,那怎么让我们重现问题呢,我这边无法重现,一定是有必现的操作步骤的,所以需要您来整理。
回复 使用道具 举报
lynn8588
金牌服务用户   /  发表于:2023-4-14 15:39:06
8#
Clark.Pan 发表于 2023-4-12 13:37
1.还是没搞清楚为什么上面方法不行
2,既然问题是偶现的,那怎么让我们重现问题呢,我这边无法重现,一定是 ...

你好,我在给您重现demo的时候,发现报错了,应该就是这个问题引起的。麻烦看附件里新上传的代码

GCExcelTest.zip

29.3 KB, 下载次数: 244

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-14 17:43:05
9#
收到,我这边调查一下。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部