我已经在SOAP webservice的web方法中编写了以下代码。下面的代码用于读取.xlsx文件,但是代码跳转到finally块并且不会抛出任何异常。
FileInputStream fis = null;
try {
File excel = new File("Sample.xlsx");
fis = new FileInputStream(excel);
System.out.println("Can read: "+excel.canRead()); //true
System.out.println("Absolute path: "+excel.getAbsolutePath()); //returns correct file path
System.out.println("is File: "+excel.isFile()); //true
System.out.println("File exists: "+excel.exists()); //true
XSSFWorkbook book = new XSSFWorkbook(fis); //The control goes to the finally block
XSSFSheet headerDataSheet = book.getSheetAt(0);
........
}catch(Exception ex){
ex.printStackTrace();
}finally{
System.out.println("Cache Map DataSize---"+cacheMap.size());
.....
}
我使用了以下罐子。 axis.jar,commons-discovery-0.2.jar,commons-fileupload-1.3.2.jar,commons-io-1.3.2.jar,commons-logging.jar,commons-net-3.6.jar,jaxrpc.jar, POI-3.8.jar poi-ooxml-3.8.jar,poi-ooxml-schemas-3.8-beta5.jar我在stackoverflow上找到类似帖子之后尝试更新poi jar版本,但即使这样也没有帮助。任何帮助/建议表示赞赏。
由于
答案 0 :(得分:0)
如果您需要不同的方法,请尝试以下方法:
Xcelite xcelite = new Xcelite(new File("src/Untitled_File.xlsx"));
XceliteSheet sheet = xcelite.getSheet(0);
SheetReader<Collection<Object>> simpleReader = sheet.getSimpleReader();
simpleReader.skipHeaderRow(true);
System.out.println(simpleReader.read());
导入
<dependency>
<groupId>com.ebay</groupId>
<artifactId>xcelite</artifactId>
<version>1.0.4</version>
</dependency>
请注意,此回购不再保留。这是link
答案 1 :(得分:0)
我尝试了@Xavier Bouclet提出的方法并注意到以下2个罐子丢失了:
xmlbeans-2.3.0.jar
dom4j-1.6.1.jar
现在代码正在按预期工作。
谢谢大家