有两种方法可以将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文件。