如何获取区域的单元格列
本文关键字:区域 单元格 获取 何获取 | 更新日期: 2023-09-27 18:27:17
我正在迭代从一个范围中得到的一行,以便在单元格内容中找到一个特定的单词,然后我想得到我找到它的列。例如,如果我在第19位找到了所需的内容,这意味着excel列是"S"。
这是我目前使用的代码:
Excel.Worksheet xlWorkSheet = GetWorkSheet(currentWorkBook, "sheet");
var row = xlWorkSheet.Rows["5"];
int rowLength = xlWorkSheet.UsedRange.Columns.Count;
Excel.Range currentTitle = row[1]; //in order to iterate only over the 5th row in this example
for (int i = 1; i < rowLength; i++)
{
string title = currentTitle.Value2[1,i];
if (title == null)
{
continue;
}
if (title.Contains(wordToSearch))
{
string column = THIS IS THE QUESTION - WHAT DO I NEED TO WRITE HERE?
Excel.Range valueCell = xlWorkSheet.Range[column + "5"];
return valueCell.Value2;
}
注意string column
的行,我需要在其中添加代码。
只要您不想依赖任何计算,我看到的另一个选项是从Address
属性中提取列字母,如下面的代码所示:
Excel.Range currentRange = (Excel.Range)currentTitle.Cells[1, i];
string columnLetter = currentRange.get_AddressLocal(true, false, Excel.XlReferenceStyle.xlA1, missing, missing).Split('$')[0];
string title = null;
if (currentRange.Value2 != null)
{
title = currentRange.Value2.ToString();
}
正如您所看到的,我正在强制显示一个"$",以便简化列字母检索。