C# winform 通过Microsoft.Office.Interop.Excel 快速导入本机excel 到datagridview
时间: 2024-12-01 20:20:34 浏览: 6
基于Microsoft.Office.Interop.Excel的导出数据方法
在C# Winform中,要通过Microsoft.Office.Interop.Excel快速导入本地Excel文件到DataGridView,你需要做以下几个步骤:
1. 引入依赖库:
在项目中引用`Microsoft.Office.Interop.Excel`库,它包含了访问Excel的所有必要组件。
```csharp
using Microsoft.Office.Interop.Excel;
```
2. 打开Excel应用:
创建一个新的Excel应用实例,可以使用`ApplicationClass`。
```csharp
Application excelApp = new ApplicationClass();
```
3. 加载Excel文件:
使用`ApplicationClass.Workbooks.Open()`方法打开指定路径的Excel文件。
```csharp
Workbook workbook = excelApp.Workbooks.Open(@"C:\path\to\your\file.xlsx");
```
4. 获取工作簿和工作表:
确定你要操作的工作表,例如默认的第一张工作表。
```csharp
Worksheet sheet = workbook.Worksheets[1]; // 如果是第一张表,索引从1开始
```
5. 遍历工作表数据:
通过`Range`对象获取每一行的数据,然后将其添加到DataGridView。
```csharp
foreach (Range row in sheet.Rows)
{
DataGridViewRow dgvRow = dataGridView.Rows.Add();
for (int i = 1; i <= row.Cells.Count; i++) // Excel的索引从1开始
{
object cellValue = row.Cells[i].Value;
dgvRow.Cells[i - 1].Value = Convert.IsDBNull(cellValue) ? "" : cellValue; // 将值添加到DataGridView
}
}
```
6. 关闭Excel文件:
最后记得关闭工作簿和Excel应用。
```csharp
workbook.Close(false); // 指定是否保存修改,false表示不保存
excelApp.Quit();
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(sheet);
Marshal.ReleaseComObject(excelApp);
```
阅读全文