DataGridView直接导出EXCEL

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能的源泉,大脑从何而来?

作者&#xff1a;谢平 中国科学院大学教授引言&#xff1a;人类的神奇常常归结于一个智慧的大脑以及贯穿于其中的无比复杂的神经网络&#xff0c;并认为这源自上帝之手&#xff0c;但其实它并不是无中生有的&#xff0c;而是自然演化的产物&#xff0c;虽然是一个无与伦比的杰作…

物联网技术在智能医疗领域的应用与发展

来源&#xff1a; 传感器技术应对人口结构高龄化所带来的长期照护需求&#xff0c;各国政府纷纷拟定政策&#xff0c;希望利用Wi-Fi、蓝牙、3G、GPS及RFID等物联网技术&#xff0c;架构起移动式医疗网络;且在远距照护等议题发酵下&#xff0c;也带动医疗产业结合物联网进入下一…

xmlHttpRequest无刷新验证用户名

现在好多网站上的注册都用了无刷新验证用户名,这种效果咋看感觉很复杂很难实现,其实它里面用到了Ajax中的核心xmlHttpRequest这个类,如果只是单单想实现这个效果,压根就不用引用Ajax.Net中的组件,因为感觉有点大材小用,下面是具体实现这种效果的方法,希望能给初学Ajax的朋友带来…

如何理解和评价机器学习中的表达能力、训练难度和泛化性能

来源&#xff1a; Eric Jang 的个人博客非常感谢王家兴 (Jiaxing Wang) 把这个博客文章翻译成中文。当我在阅读机器学习相关文献的时候&#xff0c; 我经常思考这项工作是否&#xff1a;提高了模型的表达能力&#xff1b;使模型更易于训练&#xff1b; 提高了模型的泛化性能。在…

谷歌公布72位量子比特处理器,吹响量子霸权冲锋号

作者&#xff1a;杨晓凡谷歌量子 AI 实验室今天发布了新的 72 位量子比特的量子处理器 Bristlecone。虽然目前还没有看到具体的实验结果&#xff0c;但这块芯片的未来有很大潜力&#xff0c;很有可能达成量子计算领域内的重要里程碑。谷歌量子 AI 实验室&#xff08;Google Qua…

AI可以在游戏里称霸,但是解决现实问题太难了

来源&#xff1a;36氪据《大西洋月刊》报道&#xff0c;直到最近&#xff0c;那些能在各类游戏中击败人类冠军的机器&#xff0c;解决现实问题太难了。1997年&#xff0c;为了在国际象棋中击败象棋大师加里卡斯帕罗夫&#xff08;Garry Kasparov&#xff09;&#xff0c;IBM的工…

大话设计模式-策略模式与简单工厂模式

来源&#xff1a;http://blog.csdn.net/wulingmin21/article/details/6712684 策略模式定义了一系列的算法&#xff0c;并将每一个算法封装起来&#xff0c;而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 例如&#xff1a; CashNormal、CashRebate…

全球知识图谱专家分布、研究流派(附学者名单)

来源&#xff1a; THU数据派概要&#xff1a;在维基百科的官方词条中&#xff1a;知识图谱是Google用于增强其搜索引擎功能的知识库。什么是知识图谱&#xff1f;在维基百科的官方词条中&#xff1a;知识图谱是Google用于增强其搜索引擎功能的知识库。本质上, 知识图谱旨在描述…

软件系统架构~思维导图

#原图 System.out.println("https://www.processon.com/view/link/6194f2740e3e7409b9c2f3df")

创建型、结构型、行为型模式(1)

来源&#xff1a;http://blog.csdn.net/wulingmin21/article/details/6753363 目的 创建型模式 Creational Pattern 结构型模式 Structural Patterns 行为型模式 Behavioral Pattern 概念 创建型模式&#xff0c;就是创建对象的模式&#xff0c;抽象了实例化的过程。…

干货|全球人工智能专利分布战情图

来源&#xff1a; 点滴科技资讯作者&#xff1a;许倩未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&am…

tomcat高版本之URL解析异常解决

IllegalArgumentException 一、项目场景&#xff1a; 例如&#xff1a;由于Apache的tomcat的版本升级&#xff0c;遵循RFC 7230 and RFC 3986规范解析请求地址。同时添加了对于http头的验证请求。 导致报文存在导致特殊字符&#xff08;不在解析范围内的&#xff09;tomcat7…

创建型、结构型、行为型模式(2)

来源&#xff1a;http://blog.csdn.net/wulingmin21/article/details/6757111 创建型模式 Singleton模式解决的是实体对象个数的问题。 除了Singleton之外&#xff0c;其他创建型模式解决的都是New所带来的耦合关系。 Factory Method&#xff0c;Abstract Factory&#xff0c;B…

大数据行业洞察:未来2-3年或迎数据时代的真正高潮

来源&#xff1a; DT数据侠 作者&#xff1a;中关村老李从2012年的“用户标签”到2014年的“用户画像”&#xff0c;从2015年的“大数据”到2017年的“人工智能”&#xff0c;大数据正在从神坛走向现实。“标签”到“画像”&#xff0c;代表着数据在数量和维度上&#xff0c;逐…

5G时代到来,人工智能设备如何重塑TMT行业

来源&#xff1a;亿欧在近期召开的2018世界移动通信大会上&#xff0c;5G作为热点话题被高频提及&#xff0c;当前&#xff0c;5G技术已经取得突破进展&#xff0c;全球范围内已有运营商宣布2018年将投入商用。在这一背景下&#xff0c;5G与人工智能技术的结合将重塑众多产业&a…

java调用GDAL实现栅格数据的重采样的一种方法

目录 1.关于重采样 1.1概念 1.2用途 1.3常见算法 2.关于GDAL 2.1GDAL中的重采样算法 3.实现重采样 3.1思路 3.2完整代码 3.3使用QGIS验证效果 1.关于重采样 1.1概念 重采样是以原始图像的像元值或者导出的值填充到新的图像的每个像元的的过程。 1.2用途 在地理信…

Semtech与Lacuna从太空接收信息

来源&#xff1a;Semtech概要&#xff1a;Lacuna Space使用了一组星座的极地近地轨道卫星&#xff0c;来接收地面传感器发出的基于LoRa的信息。加利福尼亚州&#xff0c;卡马里奥&#xff0c;2018年2月26日—高性能模拟和混合信号半导体及先进算法领先供应商Semtech Corporatio…

ABAP--使用SLIN事务码进行ABAP程序扩展语法检查,提高程序开发的质量

TCODE: SLIN 或者在SE38 界面的菜单&#xff1a; 程序&#xff0d;》语法&#xff0d;》扩展程序检查 就会弹出下面的界面&#xff0c;用户可以根据自己的需求设置检查点&#xff0c;并根据检查结果修改程序&#xff0c;使自己的代码更加可靠。另外在SE38 界面的菜单&#xff1…

谷歌大脑发布神经网络的「核磁共振」,并公开相关代码

作者&#xff1a;杨晓凡、camel、思颖、杨文神经网络的可解释性一直是所有研究人员心头的一团乌云。传统的尝试进行可解释性研究的方法是通过查看网络中哪个神经元被激发来来理解&#xff0c;但是即使我们知道「第 538 号神经元被激发了一点点」也毫无意义&#xff0c;并不能帮…

Java加密与解密的艺术~Provider

Provider类实现了Java安全性的一部分或全部&#xff0c;我们称它为提供者。 Provider类可能实现的服务包括&#xff1a; 算法&#xff08;如DSA、RSA、MD5或SHA-1&#xff09; 密钥的生成、转换和管理设施&#xff08;如用于特定算法的密钥&#xff09; 每个提供者…