1.直接将DataGridView显示的内容导出Excel

 1public void DataToExcel(DataGridView m_DataView)
 2        {
 3            SaveFileDialog kk = new SaveFileDialog(); 
 4            kk.Title = "保存EXECL文件"; 
 5            kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*"; 
 6            kk.FilterIndex = 1;
 7            if (kk.ShowDialog() == DialogResult.OK) 
 8            
 9                string FileName = kk.FileName + ".xls";
10                if (File.Exists(FileName))
11                    File.Delete(FileName);
12                FileStream objFileStream; 
13                StreamWriter objStreamWriter; 
14                string strLine = ""; 
15                objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write); 
16                objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
17                for (int i = 0; i  < m_DataView.Columns.Count; i++) 
18                
19                    if (m_DataView.Columns[i].Visible == true) 
20                    
21                        strLine = strLine + m_DataView.Columns[i].HeaderText.ToString() + Convert.ToChar(9); 
22                    } 
23                } 
24                objStreamWriter.WriteLine(strLine); 
25                strLine = ""; 
26
27                for (int i = 0; i  < m_DataView.Rows.Count; i++) 
28                
29                    if (m_DataView.Columns[0].Visible == true) 
30                    
31                        if (m_DataView.Rows[i].Cells[0].Value == null) 
32                            strLine = strLine + " " + Convert.ToChar(9); 
33                        else 
34                            strLine = strLine + m_DataView.Rows[i].Cells[0].Value.ToString() + Convert.ToChar(9); 
35                    } 
36                    for (int j = 1; j  < m_DataView.Columns.Count; j++) 
37                    
38                        if (m_DataView.Columns[j].Visible == true) 
39                        
40                            if (m_DataView.Rows[i].Cells[j].Value == null) 
41                                strLine = strLine + " " + Convert.ToChar(9); 
42                            else 
43                            
44                                string rowstr = ""; 
45                                rowstr = m_DataView.Rows[i].Cells[j].Value.ToString(); 
46                                if (rowstr.IndexOf("\r\n") >  0) 
47                                    rowstr = rowstr.Replace("\r\n", " "); 
48                                if (rowstr.IndexOf("\t") >  0) 
49                                    rowstr = rowstr.Replace("\t", " "); 
50                                strLine = strLine + rowstr + Convert.ToChar(9); 
51                            } 
52                        } 
53                    } 
54                    objStreamWriter.WriteLine(strLine); 
55                    strLine = ""; 
56                } 
57                objStreamWriter.Close(); 
58                objFileStream.Close();
59                MessageBox.Show(this,"保存EXCEL成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); 
60            }
61        }

2.用DataGridView绑定的DataTable为参数,导出Excel

 1public void DataToExcel(DataTable m_DataTable)
 2        {
 3            SaveFileDialog kk = new SaveFileDialog();
 4            kk.Title = "保存EXECL文件";
 5            kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*";
 6            kk.FilterIndex = 1;
 7            if (kk.ShowDialog() == DialogResult.OK)
 8            {
 9                string FileName = kk.FileName + ".xls";
10                if (File.Exists(FileName))
11                    File.Delete(FileName);
12                FileStream objFileStream;
13                StreamWriter objStreamWriter;
14                string strLine = "";
15                objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);
16                objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
17                for (int i = 0; i < m_DataTable.Columns.Count; i++)
18                {
19                    strLine = strLine + m_DataTable.Columns[i].Caption.ToString() + Convert.ToChar(9);
20                }
21                objStreamWriter.WriteLine(strLine);
22                strLine = "";
23
24                for (int i = 0; i < m_DataTable.Rows.Count; i++)
25                {
26                    for (int j = 0; j < m_DataTable.Columns.Count; j++)
27                    {
28                        if (m_DataTable.Rows[i].ItemArray[j] == null)
29                            strLine = strLine + " " + Convert.ToChar(9);
30                        else
31                        {
32                            string rowstr = "";
33                            rowstr = m_DataTable.Rows[i].ItemArray[j].ToString();
34                            if (rowstr.IndexOf("\r\n") > 0)
35                                rowstr = rowstr.Replace("\r\n", " ");
36                            if (rowstr.IndexOf("\t") > 0)
37                                rowstr = rowstr.Replace("\t", " ");
38                            strLine = strLine + rowstr + Convert.ToChar(9);
39                        }
40                    }
41                    objStreamWriter.WriteLine(strLine);
42                    strLine = "";
43                }
44                objStreamWriter.Close();
45                objFileStream.Close();
46                MessageBox.Show(this, "保存EXCEL成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
47            }
48        }

转载于:https://www.cnblogs.com/xiaotan68/archive/2008/03/20/1114796.html

DataGridView直接导出EXCEL相关推荐

  1. C# DataGridView数据导出Excel文件

    前言: 博主在做项目的时候需要把数据库的数据用DataGridView展示,然后把展示的数据导出为Excel文件,很多时候我们做项目都会有一个下载文件的按钮,我们需要用微软的的接口,Microsoft ...

  2. vb.net datagridview控件导出excel

    导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码.这次,我们使用面向对象的思维再次实现这个功能.对 ...

  3. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  4. WinForm下DataGridView导出Excel的实现

    WinForm下DataGridView导出Excel的实现   1.说明:导出的效率说不上很高,但至少是可以接收的.参考网上很多高效导出Excel的方法,实现到时能够实现的,导出速度也很快,不过缺陷 ...

  5. datagridview数据导出到excel

    /// <summary>/// 导出Excel/// </summary>/// <param name="mydgv">控件 DataGri ...

  6. java datagrid导出excel_从datagridview中导出数据到excel

    第一种办法:直接在button的Click事件中写代码进行导出:private void button6_Click(object sender, EventArgs e) { SaveFileDia ...

  7. datagridview序号左对齐_winform DataGridView数据导出到excel中

    winform DataGridView数据导出到excel中 实例一 private void button5_Click_1(object sender, EventArgs e) { //建立E ...

  8. DataGridView导出Excel 隐藏列不显示

    //导出Excel         private void btnExc_Click(object sender, EventArgs e)         {             string ...

  9. NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中

    由于XSSFWorkbook类型的Write方法限制,Write完成后就自动关闭流数据,所以无法很好的支持的Web模式,网上目前也未找到好的解决方案. 注意:若直接使用在WinForm项目中,必需先下 ...

最新文章

  1. 侏罗纪怪兽世界怎么登陆服务器未响应,全金属怪物进不去怎么解决
  2. 学习NGUI前的准备NGUI的相关信息
  3. fabric.js 不同类型 不同控件_耐温灌封胶都哪几个类型?不同类型的灌封胶有哪些不同之处?...
  4. linux kernel中的进程栈
  5. Node.js入门经典 读书笔记(3)
  6. [CF791D]Bear and Tree Jumps
  7. 华为副总鸿蒙,“哄蒙”败北!华为副总裁落实最新消息,鸿蒙3月31日正式亮剑...
  8. python导出项目所依赖的所有的库文件以及安装
  9. 苹果要换Type-C接口?丁磊建议统一充电器接口 工信部回复来了...
  10. 教你玩转HelloWorld
  11. python修改pdf元信息 metadata
  12. STM32中关于高电平有效,低电平有效的一点理解
  13. 2012第35周国内Android应用下载动态
  14. Browser-Solidity的本地安装及使用介绍
  15. 西北大学发布猴脸识别论文,公开 10 种动物面部数据集
  16. 计算机的应用安全包括哪些方面,计算机软件的分类有哪些
  17. 小程序云开发中的一些注意点与Error: errCode: -404011 cloud function execution error | errMsg: clou----错误
  18. 阿克曼(Ackmann)函数
  19. 深入浅出XDL(四):模型训练
  20. 2022山东省安全员B证考试题模拟考试题库及模拟考试

热门文章

  1. LeetCode 1721. 交换链表中的节点(快慢指针)
  2. LeetCode MySQL 1112. 每位学生的最高成绩
  3. LeetCode 第 29 场双周赛(890/2259,前39.4%)
  4. LeetCode 1362. 最接近的因数
  5. LeetCode 735. 行星碰撞(栈)
  6. 日期传递过程_买东西别再只看生产日期和保质期了!快算算你一天吃了多少添加剂?...
  7. Android Studio 选项菜单和动画结合_Android 应用与iOS 应用之间的设计差异对比!
  8. mysql linux 还原_linux下java还原mysql数据库
  9. Python 画图常用点的形状,Matplotlib 设置参数marker的值 - o + - ★☆►◁ - 够用
  10. 大模型炼丹无从下手?谷歌、OpenAI烧了几百万刀,总结出这些方法论…