【问题标题】:Using vb.NET and ClosedXML to search an Excel worksheet使用 vb.NET 和 ClosedXML 搜索 Excel 工作表
【发布时间】:2019-10-03 20:59:26
【问题描述】:

我有一个简单的电子表格,我用 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”并得到 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)

当我将鼠标悬停在“结果”上时,我可以看到“RangesUsed”中返回的“结果”单元格地址 A:2

现在如何返回单元格 C:2 的内容以便在我的程序中使用它?

【问题讨论】:

  • 如果我没记错的话,Results 是 IXCell 的 IEnumberable。那么就不可能将鼠标悬停在结果上并检查元素及其属性以告诉您您想知道吗?

标签: vb.net closedxml


【解决方案1】:

听起来您实际上是想做一个VLOOKUP,所以您可以尝试在 C# 中:var value = CodeWS.Evaluate(@"=VLOOKUP(""2000"", A:C, 3, false)");,或任何与该语句等效的 VB.NET。

【讨论】:

  • 这很好用。我能够将变量放入我的查找值和范围。它按预期返回了第 3 列。
  • 太棒了。很高兴它奏效了。如果您同意,可以将我的帖子标记为有效答案
猜你喜欢
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
相关资源
最近更新 更多