• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C# 大数据导出word的假死报错的处理方法

C# 大数据导出word的假死报错的处理方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#界面假死,c#ui假死,c#导出数据到excel,c#数据导出excel,将c#数据导出到excel等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近一个项目是一个基于winform的报告系统,根据一系列的查询参数计算出结果,最终生成一个格式规范的word文档,刚开始数据量不大(500行)数据以内,写入速度还能接受,但最近遇到一个问题就是当出现大量的数据行的时候,写入word的过程就变的非常慢,CPU直接拉到100%,本人机器配置已经算比较高的了,8G内存+i5CPU,依旧假死,该问题困扰了我几天,也问了google很多次,基本上给出的答案都是word本身就比较慢这样一类的答案,或者是非托管代码的优化,慢也就算了,至少可以通过进度条来交互,假死到报错,这个绝对是零容忍的。尝试了很多种方法,包括将非托管代码强制进行回收,多线程等方式,最终都失败了,当然,黄天不负有心人最终总算是解决了问题了,我的数据量不算特别巨大,就4000多行写入表中,废话少说,直接贴代码:

常规写入word表格的方法:

                    #region Replace Title
                    foreach (KeyValuePair<AnalyteReNameEntity, DataTable> d in dicList)
                    {

                        AnalyteReNameEntity key = d.Key;
                        if (dicList.Count > 2)
                        {
                            if (index.Equals(dicList.Count - 2))
                            {
                                analyteTitles += key.NewAnalyteName + " and ";
                            }
                            else
                            {
                                analyteTitles += key.NewAnalyteName + " , ";
                            }
                        }
                        else if (dicList.Count == 2)
                        {
                            analyteTitles += key.NewAnalyteName + " and ";
                        }
                        else
                        {
                            analyteTitles += key.NewAnalyteName;
                        }
                        index++;
                    }
                    analyteTitles = analyt

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C# 大数据导出word的假死报错的处理方法

相关文章

  • 2017-05-28C#动态加载dll扩展系统功能的方法
  • 2017-05-28C# 设计模式之单例模式归纳总结
  • 2017-05-28C#实现Log4Net日志分类和自动维护实例
  • 2017-05-28C#添加Windows服务 定时任务
  • 2017-05-28VS.net VSS时,编译报错:未能向文件“.csproj.FileListAbsolute.txt”写入命令行 对路径 的访问被拒绝。
  • 2017-05-28浅谈c# 面向对象之类与对象
  • 2017-05-28C#实现将窗体固定在显示器的左上角且不能移动的方法
  • 2017-05-28谈谈C# replace在正则表达式中的意义
  • 2017-05-28解析C#中[],List,Array,ArrayList的区别及应用
  • 2017-05-28C#实现汉字转换为拼音缩写的代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#实现多线程下载文件的方法
    • C#无损压缩图片
    • c#循环左移字符示例
    • 磁盘配额的wmi版本(C#)
    • .NET企业级项目中遇到的国际化问题和解决方法
    • C#读取文件MD5值的实现代码
    • C#接口interface用法实例
    • C# 语音功能的实现方法
    • C# WinForm实现Win7 Aero透明效果代码
    • 在Form_Load里面调用Focus无效的解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有