0
好吧查找行,所以我有一個非常大的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);
但是,當我看到裏面什麼用 字符串值= currentFind [0] [0]。文本
我得到錯誤的小區... .. does excel在這裏使用零地址?...去調查
sheet.find()返回了什麼? 'tapeID'有什麼價值? – Holf
我編輯了你的標題。請參見「[應的問題包括‘標籤’,在他們的頭銜?(http://meta.stackexchange.com/questions/19190/)」,這裏的共識是「不,他們不應該」。 –
答案是它不使用0尋址。如果我使用[1] [1]作爲索引數組,它會返回正確的單元格。感謝耐心 – Mizmor