栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.net 导出csv 百万数据3s弹出下载框

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.net 导出csv 百万数据3s弹出下载框

背景:现在市面上数据量大的导出,大部分都是点击生产。然后有个异步程序,去查询、拼装数据。生产excel保存到服务器上。然后在提供一个下载地址。一旦遇到10W+行的数据,导出就会很慢,甚至有的等待时间很长。

本文介绍的是一种流式下载的方式,一边查数据,一边下载。

核心代码 :

1、 yield return 解释:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/yield

2、    var ft = HttpContext.Features.Get();
            if (ft != null) ft.AllowSynchronousIO = true;  允许同步IO

源码地址:hhttps://github.com/BigMaJx/OOPDemo/blob/master/Api/Controllers/WeatherForecastController.cs

参考:NewLife.Cube Git:https://gitee.com/NewLifeX/NewLife.Cube/blob/master/NewLife.Cube/Common/ReadOnlyEntityController.cs

废话不多说,直接贴码。

  • 接口导出ExportCsv 注意 ft.AllowSynchronousIO = true;

  • 获取数据GetData,注意Class DisplayName为列头  注意yield return;GetList 可以大家可自己替换成从数据库查出的数据。一定分页查询。

  • 导出方法:OnExportExcel。反射获取列头,每行写入流   csv.WriteLine(result);

结果:

 

上视频:

.net 导出csv 百万数据3s弹出下载框

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/906314.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号