找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc 讲师达人认证
高级会员   /  发表于:2021-8-4 17:28  /   查看:3496  /  回复:5
本帖最后由 Richard.Ma 于 2021-8-5 16:18 编辑

相同的Excel文件,直接在Excel中修改单元格大致花1秒完成,但是用GcExcel加载后,修改相同的单元格,在通过Cell.Value赋值时需要接近30秒,示例如下:
Excel文件:
数据JSON文件:

修改位置:


用GcExcel加载后修改相同位置:
        public void TestLoadExcelEditOnline()
        {
            var workbook = new GrapeCity.Documents.Excel.Workbook();
            workbook.Open("test_calc_performence.xlsx");         
            var originSheet = workbook.Worksheets["分期产品设置"];
            var stopwatch = new System.Diagnostics.Stopwatch();
            stopwatch.Start();        
            originSheet.Range["C2"].Value =Convert.ToDateTime("2020-12-01");
            stopwatch.Stop();
            Console.WriteLine($"******************CalculateTime:{stopwatch.ElapsedMilliseconds}");
            workbook.Save($"test_calc_performence_{DateTime.Now:yyyyMMddHHmmss}.xlsx");
        }

修改耗时:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-4 18:30:32
沙发
如果只是设置这个单元格的话,只需要先workbook.EnableCalculation = false;

然后设置即可。避免计算引擎计算。

我看到您这边近期集中在验证性能问题,方便的话可以私信一个您的电话联系方式给我,我电话联系您沟通一下您这边的性能问题。
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-8-5 11:01:32
板凳
Richard.Ma 发表于 2021-8-4 18:30
如果只是设置这个单元格的话,只需要先workbook.EnableCalculation = false;

然后设置即可。避免计算引 ...

已私信
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-5 12:04:34
地板
已经电话联系您沟通了其他的问题
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-8-5 15:05:51
5#
Richard.Ma 发表于 2021-8-5 12:04
已经电话联系您沟通了其他的问题

数据JSON文件已添加附件
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-5 16:18:17
6#
收到,这个计算速度优化的需求已经提交给研发,DOCXLS-4654
后续会在此帖中更新进度
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部