Winform把本地.xls文件保存到DataTable中
时间: 2024-09-21 22:04:39 浏览: 10
在Windows Forms中,将本地的`.xls`文件转换为`DataTable`通常需要通过`Microsoft.Office.Interop.Excel`库来读取Excel文件,并利用它的`Range`或`Worksheet`对象获取数据。以下是基本步骤:
1. 引入所需命名空间:
```csharp
using System.Data;
using Microsoft.Office.Interop.Excel;
```
2. 加载Excel应用程序:
```csharp
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Open("本地文件路径.xlsx");
```
3. 获取工作表并加载到范围:
```csharp
Worksheet worksheet = workbook.Worksheets["Sheet1"]; // 或者指定sheet名称或索引
Range range = worksheet.UsedRange; // 获取整个工作表的数据范围
```
4. 将范围数据加载到`DataTable`:
```csharp
DataTable dataTable = new DataTable();
var tableRange = range.Value2 as object[,]; // 转换为二维数组
foreach (DataRow row in tableRange)
{
dataTable.Rows.Add(row);
}
```
5. 关闭和释放资源:
```csharp
workbook.Close(false); // 不保存更改
excelApp.Quit();
Marshal.ReleaseComObject(range);
Marshal.ReleaseComObject(worksheet);
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(excelApp);
```
完成以上步骤后,`dataTable`变量就包含了`.xls`文件对应工作表的数据了。