public static void ExportExcel(DataGridView DataGridView01)
{
Stream stream = null;
StreamWriter writer = null;
SaveFileDialog dialog = new SaveFileDialog {
Filter = "Execl files (*.xls)|*.xls",
FilterIndex = 0,
RestoreDirectory = true,
CreatePrompt = true,
Title = "Export Excel File To"
};
if (DialogResult.OK == dialog.ShowDialog())
{
try
{
stream = dialog.OpenFile();
writer = new StreamWriter(stream, Encoding.GetEncoding(0));
string str = "";
for (int i = 0; i < DataGridView01.ColumnCount; i++)
{
if (i > 0)
{
str = str + "\t";
}
str = str + DataGridView01.Columns[i].HeaderText;
}
writer.WriteLine(str);
int columnCount = DataGridView01.ColumnCount;
for (int j = 0; j < DataGridView01.Rows.Count; j++)
{
string str2 = "";
for (int k = 0; k < columnCount; k++)
{
if (k > 0)
{
str2 = str2 + "\t";
}
if (k > 0x16)
{
}
if (DataGridView01.Rows[j].Cells[k].Value == null)
{
str2 = str2 ?? "";
}
else
{
str2 = str2 + DataGridView01.Rows[j].Cells[k].Value.ToString();
}
}
writer.WriteLine(str2);
}
writer.Close();
stream.Close();
}
catch (Exception exception)
{
MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + exception.Message);
}
finally
{
writer.Close();
stream.Close();
}
MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK);
}
}

//

如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。

Winform快速导出的更多相关文章

  1. BOLT.NET 学习笔记(一) 开篇 用.net winform 快速开发 炫酷的界面

    BOLT.NET 学习笔记(一) 开篇 用.net winform 快速开发 炫酷的界面 bolt 基本介绍 Bolt界面引擎是迅雷公司从2009年开始开发的第四代界面库.迅雷7是首个采用该引擎成功开 ...

  2. winform快速开发平台->让有限的资源创造无限的价值!

    最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确 ...

  3. winform快速开发平台 -> 通用权限管理之动态菜单

    这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, ...

  4. winform快速开发平台 -> 工作流组件(仿GooFlow)

    对于web方向的工作流,一直在用gooflow对于目前我的winform开发平台却没有较好的工作流组件.  针对目前的项目经验告诉我们.一个工作流控件是很必要的. 当然在winform方面的工作流第三 ...

  5. winform快速开发平台 -> 快速绑定ComboBox数据控件

    通常我们在处理编辑窗体时.往往会遇到数据绑定.例如combobox控件绑定数据字典可能是我们经常用到的.然而在我的winform快速开发平台中我是如何处理这个频繁的操作呢? 首先,我们要绑定combo ...

  6. winform快速开发平台 -> 基础组件之分页控件

    一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...

  7. mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)

    ♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...

  8. mysql远程快速导出csv格式数据工具

    如需转载,请经本人同意. 之前本人曾经写过一个使用 select ....into outfile原理导出数据的脚本,但该脚本值适用于本地快速导出,并不支持远程服务,故又编写了下面这个支持远程导出的脚 ...

  9. c#使用NPOI快速导出到Excel

    接上篇博文<C#快速导出到excel>:由于此种方法不能导出成.xlsx格式,为解决此问题,本次分享使用NPOI. 参考:https://www.cnblogs.com/lazyneal/ ...

随机推荐

  1. 微信小程序-简易计算器

    代码地址如下:http://www.demodashi.com/demo/14210.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

  2. 深入PHP内核之opcode handler

    1.opcode结构 在Zend/zend_compile.h文件下 struct _zend_op { opcode_handler_t handler; znode_op op1; znode_o ...

  3. LinkedHashMap插入无序且链式操作

    Iterator<Entry<Integer, Integer>> ite=lhmap.entrySet().iterator(); ite.next(); ite.remov ...

  4. [CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口(转)

    转自:[CXF REST标准实战系列] 二.Spring4.0 整合 CXF3.0,实现测试接口 文章Points: 1.介绍RESTful架构风格 2.Spring配置CXF 3.三层初设计,实现W ...

  5. Xcode8的调试技能Memory Graph 实战解决闭包引用循环问题

    Xcode8的调试技能又增加了一个黑科技:Memory Graph.简单的说就是可以在运行时将内存中的对象生成一张图. 那么通过一个实际项目来练习一下吧. 首先我们写了一个自定义UIView:MyVi ...

  6. PLSQL_统计信息系列09_统计信息在不同数据库中迁移

    2014-01-05 Created By BaoXinjian

  7. Linux内存管理机制中buffer和cache的区别

    Linux内存管理机制中buffer和cache的区别理解linux内存管理,需要深入了解linux内存的各个参数含义和规则,下面介绍一下Linux操作系统中内存buffer和cache的区别. Fr ...

  8. Centos 5.6安装Mysql(步骤,疑问)

    1.安装步骤 yum install mysql yum install mysql-server yum install mysql-devel chgrp -R mysql /var/lib/my ...

  9. Ip地址和子网掩码和CIDR无间别域间路由

    开始,网络的制定者将网络划分为A,B,C三种网络,想这个样子: A类网:  xxx.0.0.0         子网掩码:255.0.0.0 xxx.0.0.0/8 //后面的数字代表网络地址的字段 ...

  10. Java并发和多线程那些事儿

    我记得我接触电脑的时候是在小学三年级的时候,那是1995年,那年发布了windows95,但是我学习的时候还是只是dos系统,简单对于文件的一些命令操作还有五笔 在过去的那个年代,电脑都是单CPU,也 ...