c#excel导出大量数据
时间: 2024-11-04 18:15:51 浏览: 21
在C#中,导出大量数据到Excel通常使用的是Microsoft.Office.Interop.Excel库,也就是对Office Excel的COM接口进行.NET绑定。以下是常见的步骤:
1. 引入命名空间:
```csharp
using Microsoft.Office.Interop.Excel;
```
2. 创建Excel应用实例并打开工作簿:
```csharp
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Add();
Worksheet worksheet = workbook.ActiveSheet;
```
3. 写入数据:
- 定义一个二维数组、DataTable或动态列表存储数据。
- 使用Range对象逐行写入数据,例如:
```csharp
Range dataRange = worksheet.Cells[1, 1]; // 第一行第一列
for (int i = 0; i < data.Count; i++)
{
dataRange[i + 1, 0] = data[i].Column1; // 数据的第一列
dataRange[i + 1, 1] = data[i].Column2; // 后续列...
}
```
4. 设置样式(如需要):
```csharp
Range headerRange = worksheet.Range["A1", "B1"]; // 设置表头单元格格式
headerRange.Font.Bold = true;
```
5. 保存工作簿:
```csharp
workbook.SaveAs(@"C:\Output\MyData.xlsx");
workbook.Close();
excelApp.Quit();
```
6. 关闭资源释放内存:
```csharp
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
GC.Collect(); // 或者更安全的GC.WaitForPendingFinalizers();
```
阅读全文