Winform版Datatable大数据量Excel导出,流操作

转载 2013年12月03日 16:15:49
private void Excelout(DataTable ds,string path)
{
 try
            {
                long totalCount = ds.Rows.Count;               
                long rowRead = 0;
                float percent = 0;


                StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("gb2312"));
                StringBuilder sb = new StringBuilder();
                for (int k = 0; k < ds.Columns.Count; k++)
                {
                    sb.Append(ds.Columns[k].ColumnName.ToString() + "\t");
                }
                sb.Append(Environment.NewLine);
                for (int i = 0; i < ds.Rows.Count; i++)
                {
                    rowRead++;
                    percent = ((float)(100 * rowRead)) / totalCount;
                    textBox1.Text = "正在写入[" + percent.ToString("0.00") + "%]...的数据";
                    System.Windows.Forms.Application.DoEvents();
               
    DateTime time = DateTime.Parse(ds.Rows[i][0].ToString());
                    sb.Append(time.ToString("HH:mm:ss") + "\t");
                       
                    for (int j = 1; j < ds.Columns.Count; j++)
                    {


                        //if (ds.Rows[i][j] == null)
                        //{
                        //    sb.Append("\t");
                        //}
                        //else
                        //{
                             sb.Append(ds.Rows[i][j].ToString() + "\t");
                        //} 
                    }
                    sb.Append(Environment.NewLine);
                }
                sw.Write(sb.ToString());
                sw.Flush();
                sw.Close();
                MessageBox.Show("已经生成指定Excel文件!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }            

}
转载:http://bbs.csdn.net/topics/390445405

【原创】C#导出数据到EXCEL方法谈(附实例源码和超级无敌详细讲解)

 如果你耐心仔细看完本文,相信以后再遇到导出EXCLE操作的时候你会很顺手觉得SO EASY,主要给新手朋友们看的,老鸟可以直接飘过了,花了一晚上的时间写的很辛苦,如果觉得对你有帮助烦请留言支持一下,...
  • smallwhiteyt
  • smallwhiteyt
  • 2009年11月08日 00:56
  • 9938

winform高效导出Excel带格式设置

参考网上的方法修改,1000条记录导出只要3S(1GRDM,C2.8CPU).1.项目添加excel对象类库的引用,Microsoft Excel 11.0 object library(不同版本的E...
  • hfzsjz
  • hfzsjz
  • 2009年01月14日 09:26
  • 5332

C#Winform实现高效率导入和导出Excel文件

/// /// 导出Excel文件 /// /// /// /// 数据集 /// 导出后是否打开文件 ...
  • pp_fzp
  • pp_fzp
  • 2016年05月25日 22:07
  • 7037

利用Cache缓存数据DataTable数据提高大数据量访问性能

 引言:在数据量不大的情况下,程序怎么写基本上性能差别不大,但是当我们面对数以万计的数据的时候,我想性能就是个不得不考虑的问题了,每写一个方法,每填充一笔数据都要考虑到性能问题,否则服务器将承担巨大的...
  • yes555
  • yes555
  • 2006年04月30日 17:16
  • 1140

C# DataTable数据量大,循环处理数据的时候优化速度

相信大家用for循环datatable数据的不会太少,这个在数据量比较小的时候可以接受,但是数据量大的时候却会造成CPU占用过高,甚至把电脑资源耗尽卡死至无限等待,其实一些循环耗时的操作可以用线程池分...
  • Sky_Cat
  • Sky_Cat
  • 2017年03月16日 15:04
  • 2653

jquery datatable 大数据分页面的解决方案

  • 2014年09月04日 15:00
  • 889KB
  • 下载

jquery之datatable.js与CI整合 异步加载(大数据量处理)

1、CI 控制器添加方法         $this->show_fields_array=array(             "truename"=>"小编账号",         ...
  • kingsix7
  • kingsix7
  • 2014年08月29日 17:57
  • 7706

浅谈.net 内存泄露和内存溢出

一直以来都对内存泄露和内存溢出理解的不是很深刻。在网上看到了几篇文章,于是整理了一下自己对内存泄露和内存溢出的理解。 一.概念 内存溢出:指程序在运行的过程中,程序对内存的需求超过了超过了计算机分...
  • fhzh520
  • fhzh520
  • 2012年08月16日 13:38
  • 19786

大数据导出Excel导致内存溢出的解决方案

一、问题描述: 公司之前的项目中客户有一个需求是将业务数据导出到Excel表中,方便他们对账,单个导出任务数据量近100W,每当月初任务量多时,导出的项目就会内存溢出,挂掉。二、原因...
  • SirLZF
  • SirLZF
  • 2015年08月12日 08:58
  • 3259

C# C/S 、B/S 使用StreamWriter导出数据成Excel文件

1:导出数据为Excel文件时开发项目时比较常用的方法。以前对于数据量较小的情况使用 Microsoft.Office.Interop.Excel.Workbooks相关类,编写起来也比较麻烦,对于数...
  • duanzi_peng
  • duanzi_peng
  • 2013年12月19日 14:01
  • 17764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Winform版Datatable大数据量Excel导出,流操作
举报原因:
原因补充:

(最多只允许输入30个字)