c#将100万条DataGridView中的数据导出到Excel中
时间: 2024-02-20 21:57:56 浏览: 208
你可以使用C#中的Interop.Excel来将DataGridView中的数据导出到Excel文件中。下面是一个简单的示例代码:
```csharp
using Excel = Microsoft.Office.Interop.Excel;
// 创建Excel对象
Excel.Application excel = new Excel.Application();
excel.Visible = false;
Excel.Workbook workbook = excel.Workbooks.Add(System.Reflection.Missing.Value);
Excel.Worksheet sheet = (Excel.Worksheet)workbook.ActiveSheet;
// 写入表头
for (int col = 1; col <= dataGridView1.Columns.Count; col++)
{
sheet.Cells[1, col] = dataGridView1.Columns[col - 1].HeaderText;
}
// 写入数据
for (int row = 0; row < dataGridView1.Rows.Count; row++)
{
for (int col = 0; col < dataGridView1.Columns.Count; col++)
{
sheet.Cells[row + 2, col + 1] = dataGridView1.Rows[row].Cells[col].Value.ToString();
}
}
// 自适应列宽
sheet.Columns.AutoFit();
// 保存Excel文件
workbook.SaveAs("data.xlsx", Excel.XlFileFormat.xlOpenXMLWorkbook, System.Reflection.Missing.Value,
System.Reflection.Missing.Value, false, false, Excel.XlSaveAsAccessMode.xlNoChange,
Excel.XlSaveConflictResolution.xlUserResolution, true, System.Reflection.Missing.Value,
System.Reflection.Missing.Value, System.Reflection.Missing.Value);
workbook.Close();
excel.Quit();
```
其中,`dataGridView1`是你要导出的DataGridView控件。这段代码将数据写入到名为"data.xlsx"的Excel文件中,并自适应Excel文件中的列宽。
阅读全文