VB.NET - 从多个excel源获取数据到数据表

时间:2013-12-27 08:16:55

标签: vb.net excel excel-vba datatable vba

我有2张excel表。一个是资产映射(标记给每个员工的资产)&另一个有组织人数(员工ID和所有有效员工的姓名)。现在我想检查是否所有资产都标记为正确的关联(即,标记为资产的员工当前应该在组织中工作),如果没有,我需要获取标记为无效用户的资产的详细信息。为此,我需要从2张excel表中获得一个连接条件。应该将结果加载到数据表(我可以在数据网格视图中显示或用于撰写邮件给高级领导)。

所以,我想从这两个excel源加载数据表,使用下面类似的查询

select a.[Asset ID], a.[EmpNo] from [AssetMapping$] as a 
Where a.[EmpNo] Not IN (select b.[EmpID] from [EmployeeDetails$] as b)

但是,在将数据加载到数据表时,我无法引用两个excel表(但如果数据存在于同一个excel中的两个不同表中,我可以这样做,这不是我想要的。)

请帮助我从2个不同的Excel工作表中获取所需的数据到单个数据表。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您使用OledDb提供程序(MS Jet数据库引擎),请尝试使用IN语句。

select a.[Asset ID], a.[EmpNo]
from [AssetMapping$] as a
Where a.[EmpNo] Not IN (select b.[EmpID] from [EmployeeDetails$] IN 'C:\Data\SecondWorkbook.xls' 'Excel 8.0;' as b)

有关详细信息,请参阅:How To Use ADO.NET to Retrieve and Modify Records in an Excel Workbook With Visual Basic .NET

我希望它会有所帮助。

请参阅我在CodeProject上的文章:http://www.codeproject.com/Tips/702769/How-to-Get-data-from-mulitple-Workbooks-using-one