zoukankan      html  css  js  c++  java
  • ExportToExcel

    做WinForm开发离不开一些基本的控件,作为数据列表显示控件中,其中最为重要的要数 DataGridView,以前用的是一些第三方控件,提供了比较灵活和方便的功能,比如:根据所见即所得导出数据到Excel 或者 文本,没办法自力更生才是生存之道。

         DataGridView的数据导出功能在网络上搜索后,有一些同仁实现过,但有些是需要依赖Excel ,这种方式不但耦合性强,性能也差,为了一劳永逸的解决这个问题,特改写了代码,在此提供给各位同仁,欢迎斧正。

    1、首先,看使用方法:

     dgvProjectList.ExportToExcel();

    或者

     dgvProjectList.ExportToExcel("项目列表");

            如果不使用数据导出功能,不会对现有 DateGridView控件产生任何负作用,也不占用内存;

    2、扩展方法定义:

    代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->        /// <summary>
            /// 将表格数据导出到csv表格文件中
            /// </summary>
            /// <param name="dgv"></param>
            public static void ExportToExcel(this DataGridView dgv)
            {
                ExportToExcel(dgv, "表格数据");
            }
            /// <summary>
            /// 将表格数据导出到csv表格文件中
            /// </summary>
            /// <param name="dgv"></param>
            public static void ExportToExcel(this DataGridView dgv, string fileName)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "表格数据文件(*.csv)|*.csv";
                sfd.FileName = string.Format("{0}.csv", fileName);
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    fileName = sfd.FileName;
                    ExportHelper.ExportDetails(dgv.GetDataTable(), ExportHelper.ExportFormat.CSV, fileName, ExportHelper.ApplicationType.WindowsForm);
    
    
                }
            }
            /// <summary>
            /// 将表格数据导出到文本文件中
            /// </summary>
            /// <param name="dgv"></param>
            public static void ExportToText(this DataGridView dgv)
            {
                ExportToText(dgv, "表格数据");
            }
    
            /// <summary>
            /// 将表格数据导出到文本文件中
            /// </summary>
            /// <param name="dgv"></param>
            public static void ExportToText(this DataGridView dgv, string fileName)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "文本文件(*.txt)|*.txt";
                sfd.FileName = string.Format("{0}.txt", fileName);
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    fileName = sfd.FileName;
                    ExportHelper.ExportDetails(dgv.GetDataTable(), ExportHelper.ExportFormat.TXT, fileName, ExportHelper.ApplicationType.WindowsForm);
                }
            }
    

      

    3、导出类定义:

       1 //导出辅助类

  • 相关阅读:
    今天学到的单词
    今天是运维的一天
    今天是属于数据库的一天
    Python基础9 元组的访问和拆包
    Python基础8 元组的创建
    Python基础7 序列
    Python基础6 控制语句 if else elif range() while for
    Python基础5 运算符
    Python基础4 字符串的查找 find rfind 字符串类型和数字类型的转换
    Python基础2 数据类型:数字类型
  • 原文地址:https://www.cnblogs.com/ArRan/p/2815176.html
Copyright © 2011-2022 走看看