java poi 查找字符串_在POI中指定公式字符串中的文件路径

我是POI的新手,我要求在两个不同的Excel工作表中搜索给定的字符串列表,这些工作表会出现一次或多次搜索字符串 .

现在,我使用Cell itereator迭代所有行来搜索字符串,

for (String searchString : SearchList){

List matchedRows = getMatchedRows(searchString);

}

public List getMatchedRows(String searchString)

List rowsMatched = new ArrayList();

(Row rowOfSheet : workSheet) {

if(rowOfSheet.getCell(index).getStringCellValue().equalsIgnoreCase(searchString)) {

rowsMatched.add(rowOfSheet)

}

}

}

但是性能会受到影响,因为我在ExcelSheet以及searchList中都有大量记录 . 所以我尝试使用“匹配”公式来使用Evaluator获取匹配行的索引,但是当我尝试执行以下操作时,我无法使用正确的语法:

"MATCH('C:\\Files\\[File1.xlsx]sheet1'!$A$2,'C:\\Files\\[File2.xlsx]sheet2'!$B$2:$B$741,0)"

这给了我以下例外:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid sheetIndex: -1.

at org.apache.poi.ss.formula.SheetRefEvaluator.(SheetRefEvaluator.java:39)

at org.apache.poi.ss.formula.OperationEvaluationContext.createExternSheetRefEvaluator(OperationEvaluationContext.java:97)

at org.apache.poi.ss.formula.OperationEvaluationContext.getRef3DEval(OperationEvaluationContext.java:249)

at org.apache.poi.ss.formula.WorkbookEvaluator.getEvalForPtg(WorkbookEvaluator.java:656)

at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:527)

at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:288)

如何在公式String中指定完整文件路径 . 我重新评估了以下内容,但这对我来说并不适用 .

http://stackoverflow.com/questions/10915475/java-poi-xssf-formulaevaluator

怎么解决这个问题 . 任何建议和解决方案都非常有帮助 . 提前致谢 . 请尽快给我一些解决方案 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值