如何在Servlet中读取Excel文件?

时间:2013-09-17 05:12:10

标签: java excel servlets

我正在尝试使用POI库阅读 excel文件。

try {

File file=new File("C:\\new.xls");
FileInputStream fin = new FileInputStream(file);

//Get the workbook instance for XLS file
HSSFWorkbook workbook = new HSSFWorkbook(fin);

//Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);

    //Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()) 
    {
    Row row = rowIterator.next();
    //For each row, iterate through each columns
    Iterator<Cell> cellIterator = row.cellIterator();
    while(cellIterator.hasNext()) 
        {
        Cell cell = cellIterator.next();
        switch(cell.getCellType()) 
            {
      case Cell.CELL_TYPE_BOOLEAN:
         System.out.print(cell.getBooleanCellValue() + "\t\t");
         break;
      case Cell.CELL_TYPE_NUMERIC:
         System.out.print(cell.getNumericCellValue() + "\t\t");
         break;
      case Cell.CELL_TYPE_STRING:
         System.out.print(cell.getRichStringCellValue() + "\t\t");
         break;
    }
        }
    System.out.println("");
   }
fin.close();
FileOutputStream out =new FileOutputStream(file);
workbook.write(out); 
out.close();
}

catch (FileNotFoundException e) 
{
 e.printStackTrace();
} 
catch (IOException e) 
{
 e.printStackTrace();
}

我在简单的Java项目中编写了上面的代码,它工作得很好。 但每当我尝试在 Servlet 中编写相同的代码时,我都会遇到以下错误。

* *例外

javax.servlet.ServletException:Servlet执行引发异常

根本原因

java.lang.NoClassDefFoundError:org / apache / poi / hssf / usermodel / HSSFWorkbook     com.ReadExcel.read(ReadExcel.java:30)     com.ServletDemo.doPost(ServletDemo.java:23)`     javax.servlet.http.HttpServlet.service(HttpServlet.java:641)     javax.servlet.http.HttpServlet.service(HttpServlet.java:722)**

请告诉我该怎么做才能消除这些错误。

3 个答案:

答案 0 :(得分:0)

该例外仅告诉您它无法在任何地方(在您的类路径中)找到HSSFWorkbook

org / apache / poi jar需要在类路径中 - &gt;加上它。

答案 1 :(得分:0)

将poi jar文件放在WEB-INF / lib文件夹

答案 2 :(得分:0)

在Eclipse中创建“动态Web项目”。

将源文件放入新项目的“src”文件夹中。

将poi-3.9.jar放入项目中的此文件夹中: 的WebContent / WEB-INF / LIB / POI-3.9.jar

右键单击您的项目,然后选择构建路径 - &gt;配置构建路径... 选择“库”选项卡,然后展开“Web App库”节点。 在这里你必须看到poi-3.9.jar的条目。 如果没有,项目设置有问题。

测试你的servlet。