在EXCEL中搜索关键字

在EXCEL中搜索关键字

/*
打开EXCEL文件,按关键字判断是否符合
参数:strFileTable	文件数组列表
*/

function fu_FindExcel(strFileTable){
	
	
	var excelServer ;
	var oBook;	//工作簿
	var oSheet; //工作表
	var RowCount,ColCount;
	var nRow,nCol ; 
	var oCell ; 
	var len;
	var index ; 
	var strKey;	//要查找的关键字
	var nXh;	//序号
	var nFind;	//查找字符串的位置
	var strText;	//单元格内容转换为TEXT
	var strColName;	//列号对应的列名
	
	excelSever = com.excel(true);
	
	excelSever.Visible = false;	//隐藏不可见
	excelSever.alerts = false; //关闭所有操作提示
	
	len = table.len(strFileTable);
	
	strKey = string.trim(mainForm.edt_key.text);
	
	nRow = 2;
	nCol = 2;
	
	nXh = 1
		
	for(index=1;len;1){
		
		mainForm.prog1.pos = index / len * 1000;
		mainForm.stTitle.text = "正在搜索文件:" + strFileTable[index];
		
		oBook = excelSever.Open(strFileTable[index]);
		
		oSheet = oBook.Sheets(1);
	
		RowCount = oSheet.UsedRange.Rows.count;
		ColCount = oSheet.UsedRange.Columns.count; 
		
		for(nRow=1;RowCount;1){
			for(nCol=1;ColCount;1){
				oCell =  oSheet.Cells(nRow,nCol).getValue2();
				if(oCell == null){
					strText = "";
				}
				else {
				   strText = string.format("%s",oCell );
				}
								
				//判断单元格内容是否包含关键字
				
				nFind = string.indexOf(strText,strKey);
				if(nFind==null){
					//没找到,不处理
				}
				else {
					
					strColName = fu_ColToName(nCol);	//获取列号对应的字母
					
					mainForm.list_Find.addItem({text={string.format("%d", nXh),strFileTable[index],strKey,string.format("%d",nRow ),strColName,strText}});
					
					nXh = nXh + 1;
				}			
			}
			
		
		}
		
		//oCell = oSheet.Cells(nRow,nCol).getValue2();
	
		//mainForm.list_Find.addItem({text={string.format("%d", index),strFileTable[index],strKey,string.format("%d",nRow ),string.format("%d",nCol ),oCell}});
	
		oBook.close();	
	
	}
	
	
	excelSever.Quit();
	
	mainForm.stTitle.text = "搜索完毕";
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值