最重要的是,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,//建议就用xlNextfalse,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地址,当下一个单元格的地址与第一个相同,则跳出。

91

被折叠的 条评论
为什么被折叠?



