好的,所以我有一个非常大的 Excel 表,我需要在其中找到具有指定文本字符串的行。此表的大小约为 10,000 行。我目前正在做这样的事情:
sheet = workbook.ActiveSheet;
// FIND the tape id in column: __________
int cellRow = 0;
int x = 0;
for (x = 1; x <= 1000000; x++)
{
if (sheet.Cells[43][x].text.Contains(tapeID))
{
cellRow = x;
break;
}
}
问题是这种情况持续了相当长的一段时间......因此对于我的需求来说太慢了。我尝试执行 sheet.find() 方法,但它返回了一大堆错误的单元格.....有人可以帮我实现 sheet.find 或告诉我更快的方法吗?
我实现了这样的查找:
sheet = workbook.ActiveSheet;
Microsoft.Office.Interop.Excel.Range currentFind = currentFind = sheet.Cells.Find(tapeID, Type.Missing,
Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues, Microsoft.Office.Interop.Excel.XlLookAt.xlPart,
Microsoft.Office.Interop.Excel.XlSearchOrder.xlByRows, Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, false,
Type.Missing, Type.Missing);
但是当我用 string value = currentFind[0][0].Text 查看里面的内容时
我得到了错误的单元格......excel在这里使用零寻址吗?......去调查