0
我有一个关于C#自动化的问题,我希望你能帮助我。获取UsedRange的绝对偏移量
描述:
我必须在具有特定值的当前工作表的UsedRange中找到特定的单元格。为此我写了两种方法。第一个从excel工作表中获得UsedRange,第二个存储位置在UsedRange关系中的row/col列表中。
问题:
如果文件有空行或列开始的Excel表格比我知道这个具体的值在工作表中的绝对位置......我如何得到那个位置?
public object[,] GetUsedRangeFromWorksheet(Worksheet worksheet)
{
if (worksheet == null)
throw new ArgumentNullException();
Range usedRange = null;
object[,] usedRangeValues = null;
usedRange = worksheet.UsedRange;
usedRangeValues = (object[,])usedRange.get_Value(XlRangeValueDataType.xlRangeValueDefault);
return usedRangeValues;
}
public IList<Tuple<int, int>> FindPositionsOfValue(string name, object[,] usedRange)
{
if (name == null || name == string.Empty)
throw new ArgumentNullException();
if (usedRange == null)
throw new ArgumentNullException();
int iRowMax = usedRange.GetLength(0);
int iColumnMax = usedRange.GetLength(1);
IList<Tuple<int, int>> lFounds = new List<Tuple<int, int>>();
for (int iRow = 1; iRow < iRowMax; iRow++)
{
for (int iColumn = 1; iColumn < iColumnMax; iColumn++)
if(usedRange[iRow, iColumn] != null)
if (usedRange[iRow, iColumn].ToString() == name)
lFounds.Add(Tuple.Create(iRow, iColumn));
}
return lFounds;
}
我不明白你的意思,“如果文件有空行或列开始的Excel表格比我知道这个具体的价值在工作表中的绝对位置......我如何得到那个位置?” - 你能解释一下你面临的问题吗? –
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –