winform 读取EXCEL的多个SHEET
时间: 2024-10-08 12:15:57 浏览: 13
在.NET的WinForms环境中,你可以使用Microsoft.Office.Interop.Excel库来访问Excel文件中的多个工作表(Sheet)。以下是一个基本的示例,展示如何逐个工作表读取数据:
首先,确保已经引用了`Microsoft.Office.Interop.Excel`命名空间。在项目中打开解决方案资源管理器,右键点击引用(Remote References),然后选择“添加”->“COM”。
```csharp
using Microsoft.Office.Interop.Excel;
// ...
private void LoadDataFromExcel(string filePath)
{
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Open(filePath);
// 获取工作簿的所有工作表
Worksheet[] sheets = workbook.Worksheets;
foreach (Worksheet sheet in sheets)
{
string sheetName = sheet.Name; // 获取当前工作表的名字
Range dataRange = sheet.UsedRange; // 获取工作表的数据范围
for (int row = 1; row <= dataRange.Rows.Count; row++)
{
for (int col = 1; col <= dataRange.Columns.Count; col++)
{
object cellValue = dataRange.Cells[row, col].Value2; // 读取单元格值
// 根据需要处理cellValue,如将它添加到列表或数据显示在UI上
}
}
// 关闭当前工作表后继续下一个
sheet.Close(false); // false表示不保存更改
}
// 最后关闭整个工作簿
workbook.Close();
excelApp.Quit(); // 确保释放资源
}
```
在这个例子中,你需要根据实际业务需求处理读取到的数据,例如存储在一个数组、列表或其他合适的容器中。