温馨提示×

datagridview导出数据到Excel

小樊
88
2024-06-27 13:09:22
栏目: 编程语言

有两种方法可以将DataGridView中的数据导出到Excel中:

  1. 使用Excel对象库:可以通过引用Microsoft.Office.Interop.Excel命名空间,创建一个Excel应用程序实例,然后将DataGridView中的数据逐行逐列地写入到Excel工作表中。这种方法需要确保目标机器上安装有Excel软件,并且比较复杂。

  2. 使用第三方库:可以使用第三方库如NPOI、EPPlus等,这些库提供了简单易用的API,可以直接将DataGridView中的数据导出到Excel文件中,而不需要安装Excel软件。这种方法比较简单且适用性更广。

下面是使用EPPlus库将DataGridView中的数据导出到Excel文件的示例代码:

using OfficeOpenXml;
using System;
using System.IO;
using System.Windows.Forms;

private void ExportToExcel(DataGridView dataGridView)
{
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.Filter = "Excel文件|*.xlsx";
    saveFileDialog.Title = "导出数据到Excel";
    
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
        FileInfo file = new FileInfo(saveFileDialog.FileName);
        
        using (ExcelPackage package = new ExcelPackage(file))
        {
            ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
            
            for (int i = 1; i <= dataGridView.Columns.Count; i++)
            {
                worksheet.Cells[1, i].Value = dataGridView.Columns[i - 1].HeaderText;
            }
            
            for (int i = 0; i < dataGridView.Rows.Count; i++)
            {
                for (int j = 0; j < dataGridView.Columns.Count; j++)
                {
                    worksheet.Cells[i + 2, j + 1].Value = dataGridView.Rows[i].Cells[j].Value;
                }
            }
            
            package.Save();
        }
        
        MessageBox.Show("导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}

在调用ExportToExcel方法时,将DataGridView作为参数传入即可导出数据到Excel文件。

0