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

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

 

1、首先,看使用方法:

 dgvProjectList.ExportToExcel();

或者

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

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

2、扩展方法定义:

 

        /// <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);
            }
        }

相关文章:

  • 2021-07-31
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2021-12-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-08
  • 2021-06-06
  • 2021-08-01
  • 2022-02-01
相关资源
相似解决方案