有兩種方法可以將DataGridView中的數據導出到Excel中:
使用Excel對象庫:可以通過引用Microsoft.Office.Interop.Excel命名空間,創建一個Excel應用程序實例,然后將DataGridView中的數據逐行逐列地寫入到Excel工作表中。這種方法需要確保目標機器上安裝有Excel軟件,并且比較復雜。
使用第三方庫:可以使用第三方庫如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文件。