使用 vb.NET 和 ClosedXML 搜索 Excel 工作表
Using vb.NET and ClosedXML to search an Excel worksheet
我有一个简单的电子表格,我将其命名为包含 3 列的 CodeWS:
A B C
CODE DESCRIPTION GL_ACCT
1000 TEST 1 8520
2000 TEST 2 8600
3000 TEST 3 8647
我需要在 A 列中搜索给定值,然后检索同一行的 C 列值。
例如,我会在 A 列中搜索“2000”并获得 return 值 8600。
我设置了我的搜索值和搜索范围(我在解决这个问题时硬编码)并进行了搜索:
Dim fVal As String = "2000"
Dim myrange = CodeWS.Range(CodeWS.Cell(1, "A"), CodeWS.Cell(3, "A"))
Dim Results As IXLCells = myrange.Search(fVal)
当我将鼠标悬停在 "Results"[=14 上时,我可以在 "RangesUsed" 中看到 "Results" 单元格地址 A:2 returned =]
现在如何 return 单元格 C:2 的内容以便我可以在我的程序中使用它?
听起来你本质上想做一个 VLOOKUP
,所以你可以在 C# 中尝试:var value = CodeWS.Evaluate(@"=VLOOKUP(""2000"", A:C, 3, false)");
,或者任何与该语句等效的 VB.NET。
我有一个简单的电子表格,我将其命名为包含 3 列的 CodeWS:
A B C
CODE DESCRIPTION GL_ACCT
1000 TEST 1 8520
2000 TEST 2 8600
3000 TEST 3 8647
我需要在 A 列中搜索给定值,然后检索同一行的 C 列值。 例如,我会在 A 列中搜索“2000”并获得 return 值 8600。
我设置了我的搜索值和搜索范围(我在解决这个问题时硬编码)并进行了搜索:
Dim fVal As String = "2000"
Dim myrange = CodeWS.Range(CodeWS.Cell(1, "A"), CodeWS.Cell(3, "A"))
Dim Results As IXLCells = myrange.Search(fVal)
当我将鼠标悬停在 "Results"[=14 上时,我可以在 "RangesUsed" 中看到 "Results" 单元格地址 A:2 returned =]
现在如何 return 单元格 C:2 的内容以便我可以在我的程序中使用它?
听起来你本质上想做一个 VLOOKUP
,所以你可以在 C# 中尝试:var value = CodeWS.Evaluate(@"=VLOOKUP(""2000"", A:C, 3, false)");
,或者任何与该语句等效的 VB.NET。