C#中的EXCEL的查找操作

最重要的是,range.find之後還要用range.findnext,就可以遍歷所有的查找到的數據
代碼如下:

usingMicrosoft.Office.Interop.Excel;
 
Application myExcel = newApplication();//開啓EXCEL 服務
            objectmissing = System.Reflection.Missing.Value;
            myExcel.Application.Workbooks.Open(strExcelPath, missing, missing, missing, missing, missing, missing,
                missing, missing, missing, missing, missing, missing, missing, missing);
 
            Workbook myBook = myExcel.Workbooks[1];//獲取工作簿
 
 
            _Worksheet sheet = (Worksheet)myBook.Sheets["RP750PDF"];//獲取sheet
            intiCnt = sheet.UsedRange.Count;
            Excel.Range rgUsed, rgFound;
            rgUsed = sheet.get_Range("A2:A10");//獲取a2-10範圍的梅子
 
            rgFound = (Excel.Range)rgUsed.Find("RP757c-", Type.Missing,//“RP757C-”即是要查找的字符串
                Excel.XlFindLookIn.xlValues,//查找值,或者xlFormulas查找公式等
                Excel.XlLookAt.xlPart,//這裏用xlWhole返回的一直是空指針
                Excel.XlSearchOrder.xlByRows,//按行查找
                Excel.XlSearchDirection.xlNext,//建議就用xlNext
false,false);
 
            Range rgTmp = rgFound;
            do
            {
                var item = rgTmp.get_Value();
                int iRowNum = rgTmp.Row;
                int iColNum = rgTmp.Column;
                rgTmp = rgUsed.FindNext(rgTmp);
            } while (rgTmp.Address != rgFound.Address);//記錄第一個找到的range地址,當下一個單元格的地址與第一個相同,則跳出。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章