Datagridview转excel
时间: 2023-10-20 10:22:08 浏览: 35
可以使用以下代码将 DataGridView 中的数据导出到 Excel 中:
```csharp
private void ExportToExcel(DataGridView dgv)
{
// 创建一个 Excel 应用程序实例
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
// 创建一个 Workbook 对象
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Type.Missing);
// 创建一个 Worksheet 对象
Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.ActiveSheet;
// 设置 Worksheet 的名称
worksheet.Name = "DataGridView Data";
// 将 DataGridView 中的列标题写入 Excel
for (int i = 1; i <= dgv.ColumnCount; i++)
{
worksheet.Cells[1, i] = dgv.Columns[i - 1].HeaderText;
}
// 将 DataGridView 中的数据写入 Excel
for (int i = 0; i < dgv.Rows.Count; i++)
{
for (int j = 0; j < dgv.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = dgv.Rows[i].Cells[j].Value.ToString();
}
}
// 设置 Excel 的可见性
excel.Visible = true;
// 释放资源
ReleaseObject(worksheet);
ReleaseObject(workbook);
ReleaseObject(excel);
}
private void ReleaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
}
finally
{
GC.Collect();
}
}
```
在该代码中,我们使用了 Microsoft.Office.Interop.Excel 库来操作 Excel。首先,我们创建了一个 Excel 应用程序实例,然后创建了一个 Workbook 对象和一个 Worksheet 对象。接下来,我们将 DataGridView 中的列标题写入 Excel 中,并将 DataGridView 中的数据写入 Excel 中。最后,我们设置了 Excel 的可见性,并释放了资源。
使用该方法,你可以将 DataGridView 中的数据导出到 Excel 中。