posts - 124,  comments - 29,  trackbacks - 0
DevExpress GridControl  GridView大批量数据(20万条)导出Excel, 由于03版的Excel每个Sheet页只能承载65536条数据,故自带的ExportToExcelOld及ExportToPdf函数在导出20W条数据时,只能导出前65536条数据,其他数据丢失。 所以自己写导出函数,可以分sheet页来写,用到Excel组件,但是速度比较慢,现用数据流的方式来写,代码如下:
 1public static void GridViewToExcel(Stream myStream, DevExpress.XtraGrid.Views.Grid.GridView dataGridView1)
 2        {
 3            StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
 4            string str = "";
 5            try
 6            {
 7                //写标题     
 8                for (int i = 1; i < dataGridView1.Columns.Count; i++)
 9                {
10                    if (!string.IsNullOrEmpty(dataGridView1.Columns[i].Caption))
11                    {
12                        if (i > 1)
13                        {
14                            str += "\t";
15                        }

16                        str += dataGridView1.Columns[i].Caption;
17                    }

18                }

19
20                sw.WriteLine(str);
21                //写内容   
22                for (int j = 0; j < dataGridView1.RowCount; j++)
23                {
24                    string tempStr = "";
25                    for (int k = 1; k < dataGridView1.Columns.Count; k++)
26                    {
27                        if (!string.IsNullOrEmpty(dataGridView1.Columns[k].Caption))
28                        {
29                            if (k > 1)
30                            {
31                                tempStr += "\t";
32                            }

33                            tempStr += dataGridView1.GetRowCellValue(j, dataGridView1.Columns[k].FieldName);
34                        }

35                    }

36                    sw.WriteLine(tempStr);
37                }

38                sw.Close();
39                myStream.Close();
40            }

41            catch (Exception ex)
42            {
43                MessageBox.Show(ex.ToString());
44            }

45            finally
46            {
47                sw.Close();
48                myStream.Close();
49            }

50        
51        }

posted on 2013-10-12 15:29 天书 阅读(7465) 评论(1)  编辑 收藏 引用

FeedBack:
# re: C# winform DevExpress GridControl GridView大批量数据(20万条)导出Excel[未登录]
2013-12-05 20:53 |
导出的数据打不开啊,不是EXCEL啊  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理



<2013年10月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(5)

随笔档案

文章分类

文章档案

好友的Bolg

搜索

  •  

最新评论

阅读排行榜

评论排行榜