使用POI在Java中读取Excel文件

5
我正在开发一个动态Web项目,但是在读取Excel文件方面遇到了困难。尽管我按照相同的步骤在Java应用程序中轻松读取它。
我的做法是:
我将以下内容添加到构建路径中:
xmlbeans-2.6.0.jar poi-3.13-20150939 poi-examples poi-excelant poi-ooxml poi-ooxml-schemas poi-scratchpad
代码如下:
FileInputStream input_document = new FileInputStream(new File("file_location"));
XSSFWorkbook my_xls_workbook = new XSSFWorkbook(input_document); 
XSSFSheet my_worksheet = my_xls_workbook.getSheetAt(0);                      
XSSFCell cell=null; 
for(int i=0;i<463;i++){
    cell = my_worksheet.getRow(i).getCell(0);
    words[i]=cell.getStringCellValue();                                                          
    System.out.println(words[i]);          
}
my_xls_workbook.close();

错误信息

SEVERE: StandardWrapper.Throwable
java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook

org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet vhealth.GetMed
java.lang.ClassNotFoundException: org.apache.poi.xssf.usermodel.XSSFWorkbook

虽然内容比较长,但这就是要点。

问题

我想知道如何解决这个问题,正如我提到的,在遵循相同步骤后,它在另一个类似的Java文件中可以工作。我想将其集成到Web应用程序中。我也尝试了从WebApp(使用Tomcat)中调用导入数据库的例程,但仍然没有运气。


3
你是否也已将jar包添加到了你的类路径中? - Jens
我将它们添加到了构建路径中。 - ada2161
这可能是一个普遍的问题吗?http://stackoverflow.com/questions/31687130/classnotfoundexception-while-loading-class-in-tomcat-using-custom-classloader - Marged
1个回答

4
你不仅需要在构建路径中添加jar文件,还需要在WEB-INF/lib文件夹中的war模块中显然拥有相同的文件。
附注:我认为你不需要poi-examples jar。

1
@user3420463,请检查这些jar包是否已经在Tomcat服务器上部署到了结果war文件中。 - v.ladynev
怎么做?抱歉我对Tomcat不熟悉。我正在通过谷歌搜索了解它。 - ada2161
2
@user3420463 请检查您的Tomcat文件夹:tomcat-dir/webapps/[您的应用程序名称]/WEB-INF/lib。 - dlopatin
1
@user3420463 请尝试导出一个war文件并将其部署到Tomcat服务器上:如何在Eclipse中创建war文件而不使用ant或maven - v.ladynev
1
@user3420463 你需要再次导出它。 - v.ladynev
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接