找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc讲师达人认证
高级会员   /  发表于:2021-6-25 16:25:33
3#
补充问题3
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-6-25 16:00:48
2#
问题1:没有对应的方法或者事件。麻烦您描述一下您的使用场景看下是否有其他方案。

问题2:建议您提供对应的demo,我们调研看下是否有对应的优化的方案。
回复 使用道具 举报
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-25 15:50:29
来自 6#
本帖最后由 Richard.Ma 于 2021-6-28 12:34 编辑

您好,帮您和研发确认了一下


第一个问题,再worksheet上提供了Changed事件,可以用来跟踪单元格值变化,事件中可以通过e.Range获取变化的Range
第二个问题
实际上你这边目前是给1.4W行设置数组公式,和研发沟通给出了一个优化办法,
由于都是相同的公式,只是单元格相对引用,可以先给第一行这个单元格设置公式,后面的行都用复制方法复制此公式,可以将时间优化到3.9秒
修改你这边代码中135行部分,具体代码如下
  1.             worksheet2.Range["H2"].FormulaArray =  "=INDEX(Sheet1!$F$2:$F$613,MATCH(I2,Sheet1!$G$2:$G$613,0))";
  2. worksheet2.Range["H2"].Copy(worksheet2.Range[$"H3:H13456"], PasteType.Formulas);
复制代码


第三个问题,
通过Precedents和Dependents可以获取,Precedents是被引用的单元格,Dependents是受影响的单元格,也就是你需要的
https://demo.grapecity.com.cn/sp ... and_dependents.html

第四个问题,
[size=13.0667px]EnableCalculation 对于数组公式来说也是生效的,按照你这种循环,如果不设置workbook.EnableCalculation = false,可能至少需要几十秒以上的时间
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部