Excel如何快速渲染百万级别的数据

本文介绍了一种使用矩阵加载方式在Excel中快速处理百万级别数据的方法,通过多线程查询和懒加载实现数据实时查看,避免程序阻塞。实测100万条数据在10秒内加载完成。

Excel主要经历1.查询2.渲染的方式

关于查询:

    不同技术水平的人有不同的解决方案,目前我采用的是

    1:多线程查询

    2:一个异步后台线程每次查询100条便渲染,采用的“懒加载方式”,这样可以做到实时差看,程序也不阻塞

关于渲染:

    网上普遍的方式都是采用一行一行的加载,但是对于百万级别的数据就有点吃力了。

    我想还是把时间放在查询上吧。

    所有找来找去,【矩阵加载】的方式找到,亲测,100万条数据,10s内加载完成,附上源码:

    

             DataTable table = ds.Tables[0];
             int r = table.Rows.Count;
             int c = table.Columns.Count;
             object[,] objarr = new object[r, c];
             try
             {

               for (int i = 0; i < r; i++)
              {
                 for (int j = 0; j < c; j++)
                 {
                    objarr[i, j] = table.Rows[i].ItemArray[j];
                  }
               }
                 Microsoft.Office.Interop.Excel.Range rng;
                //定义范围
                rng = sh.Range[sh.Cells[1, 1], sh.Cells[r, c]];
                //数组赋值工作表范围
                rng.Value2 = objarr;

转载于:https://www.cnblogs.com/Chen520/p/9608332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值