当前位置: 首页 > news >正文

在窗体中把DataGridView中的数据导出Excel

      

 1  //DataGridView导出Excel
 2         private void bt_Excl_Click(object sender, EventArgs e)
 3         {
 4             SaveFileDialog saveFileDialog = new SaveFileDialog();
 5 
 6             saveFileDialog.Filter = "Microsoft Excel 工作表 (.xls)|*.xls";
 7             saveFileDialog.FilterIndex = 0;
 8             saveFileDialog.RestoreDirectory = true;
 9             saveFileDialog.CreatePrompt = true;
10             saveFileDialog.Title = "导出Excel文件到";
11             DateTime now = DateTime.Now;
12             saveFileDialog.FileName = now.Year.ToString().PadLeft(2) + now.Month.ToString().PadLeft(2, '0') + now.Day.ToString().PadLeft(2, '0') + "-" + now.Hour.ToString().PadLeft(2, '0') + now.Minute.ToString().PadLeft(2, '0') + now.Second.ToString().PadLeft(2, '0');
13             saveFileDialog.ShowDialog();
14             Stream myStream;
15             myStream = saveFileDialog.OpenFile();
16             StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
17             string str = "";
18             try
19             {
20                 //写标题
21                 for (int i = 0; i < dataTitl.ColumnCount; i++)
22                 {
23                     if (i > 0)
24                     {
25                         str += "\t";
26                     }
27                     str += dataTitl.Columns[i].HeaderText;
28                 }
29                 sw.WriteLine(str);
30                 //写内容
31                 for (int j = 0; j < dataTitl.Rows.Count; j++)
32                 {
33                     string tempStr = "";
34                     for (int k = 0; k < dataTitl.Columns.Count; k++)
35                     {
36                         if (k > 0)
37                         {
38                             tempStr += "\t";
39                         }
40                         tempStr += dataTitl.Rows[j].Cells[k].Value.ToString();
41                     }
42                     sw.WriteLine(tempStr);
43                 }
44                 sw.Close();
45                 myStream.Close();
46             }
47             catch (Exception)
48             {
49                 MessageBox.Show("题目导出完成。", "导出", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
50             }
51             finally
52             {
53                 sw.Close();
54                 myStream.Close();
55             }
56         }

 

转载于:https://www.cnblogs.com/Mo-Maek/p/8932391.html

相关文章:

  • Linux学习笔记4月19日任务
  • 《Linux学习并不难》用户管理(1):Linux用户账户分类
  • Java-JUC(八):使用wait,notify|notifyAll完成生产者消费者通信,虚假唤醒(Spurious Wakeups)问题出现场景,及问题解决方案。...
  • 最简单的curl扒网页
  • 如何在微信小程序中使用async/await
  • 实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY)
  • 阿里云副总裁:自主可控的云比拿来主义能走更远
  • awk命令详解
  • Linux use apktool problem
  • 小程序页面授权后,页面显示问题
  • Nowcoder84D
  • python 函数
  • 思考:真正的分布式数据库是否让“数据湖”概念成为历史?
  • Eclipse Photon即将发布
  • 诡异的量子自杀
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • es6要点
  • Hibernate最全面试题
  • HTML-表单
  • IDEA常用插件整理
  • java小心机(3)| 浅析finalize()
  • JDK 6和JDK 7中的substring()方法
  • Redis在Web项目中的应用与实践
  • tab.js分享及浏览器兼容性问题汇总
  • vue 配置sass、scss全局变量
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 机器学习 vs. 深度学习
  • ------- 计算机网络基础
  • 力扣(LeetCode)965
  • 悄悄地说一个bug
  • 如何编写一个可升级的智能合约
  • 如何实现 font-size 的响应式
  • 原生 js 实现移动端 Touch 滑动反弹
  • 原生js练习题---第五课
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #etcd#安装时出错
  • #if #elif #endif
  • #Lua:Lua调用C++生成的DLL库
  • #QT(TCP网络编程-服务端)
  • (04)odoo视图操作
  • (笔试题)合法字符串
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (十)c52学习之旅-定时器实验
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net MySql
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .net 无限分类
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .Net程序帮助文档制作
  • .net下的富文本编辑器FCKeditor的配置方法