溫馨提示×

datagridview導出數(shù)據(jù)到Excel

小樊
151
2024-06-27 13:09:22
欄目: 編程語言

有兩種方法可以將DataGridView中的數(shù)據(jù)導出到Excel中:

  1. 使用Excel對象庫:可以通過引用Microsoft.Office.Interop.Excel命名空間,創(chuàng)建一個Excel應用程序?qū)嵗?,然后將DataGridView中的數(shù)據(jù)逐行逐列地寫入到Excel工作表中。這種方法需要確保目標機器上安裝有Excel軟件,并且比較復雜。

  2. 使用第三方庫:可以使用第三方庫如NPOI、EPPlus等,這些庫提供了簡單易用的API,可以直接將DataGridView中的數(shù)據(jù)導出到Excel文件中,而不需要安裝Excel軟件。這種方法比較簡單且適用性更廣。

下面是使用EPPlus庫將DataGridView中的數(shù)據(jù)導出到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 = "導出數(shù)據(jù)到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);
    }
}

在調(diào)用ExportToExcel方法時,將DataGridView作為參數(shù)傳入即可導出數(shù)據(jù)到Excel文件。

0