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. FCT需求分析

    1. 系统组成 系统从硬件角度看是由芯片.电源,时钟,总线组成, 当中总线分为控制总线和数据总线. 芯片是单个的硬件单元,可实现多种功能.有些功能有性能需求,在计算机系统中大部分功能都须要软件配合. ...

  2. vs2010 javascript代码拓展插件支持代码折叠

    参考地址

  3. 【laravel5.4】关键字【use】使用

    1.在namespace 和 class 之间使用,是引入类文件的意思,命名空间过长或者类文件同名,可以使用[as]区别 2.在class 类里面使用[use],是导入trait  类的意思,多继承的 ...

  4. HDUOJ--2079选课时间(题目已修改,注意读题)

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. Linux命令-定时任务命令:crontab

    linux定时任务命令相当于windows=>附件=>系统工具=>计划任务程序. 要想让linux定时任务生效,首先应该先启动crond服务,并且给这个服务设置开机自自动. 默认li ...

  6. Android 界面间传参数

    登陆页 //声明Intent对象,并启动 LoginActivity Activity Intent intent = new Intent(); intent.setClass(LoginActiv ...

  7. pandas 按照某一列进行排序

    pandas排序的方法有很多,sort_values表示根据某一列排序 pd.sort_values("xxx",inplace=True) 表示pd按照xxx这个字段排序,inp ...

  8. 读书笔记5基于matplotlib画图

    一.导入需要的模块 import numpy as np import matplotlib.pyplot as plt import seaborn as sns import scipy.stat ...

  9. How to install Mysql in the CentOS

    This article will walk through you the process of installing and updating latest MySQL 5.7.9 version ...

  10. Installing .NET Core on Ubuntu-摘自网络

    Installing .NET Core on Linux By Zlatko Knezevic These instructions will lead you through acquiring ...