2011-03-16 62 views
0

import java.io.File; import java.io.FileInputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List;从bean中读取数组列表时出错

import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;

公共类座位{

@SuppressWarnings("unchecked") 
public void readExcelFile(String fileName) { 
    List cellData = new ArrayList(); 
    try { 
     FileInputStream fis = new FileInputStream(fileName); 

     XSSFWorkbook xwb = new XSSFWorkbook(fis); 
     XSSFSheet sheet = xwb.getSheetAt(0); 

     Iterator rowIterator = sheet.rowIterator(); 

     while (rowIterator.hasNext()) { 
      XSSFRow xrow = (XSSFRow) rowIterator.next(); 
      Iterator iterator = xrow.cellIterator(); 
      List cellTempList = new ArrayList(); 

      while (iterator.hasNext()) { 
       XSSFCell xcell = (XSSFCell) iterator.next(); 
       cellTempList.add(xcell); 
      } 
      cellData.add(cellTempList); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    process(cellData); 
} 

@SuppressWarnings("unchecked") 
public void process(List cellData) { 
    for (int i = 0; i < cellData.size(); i++) { 
     List cellTempList = (List) cellData.get(i); 
     for (int j = 0; j < cellTempList.size(); j++) { 
      XSSFCell xCell = (XSSFCell) cellTempList.get(j); 
      String stringCellValue = xCell.toString(); 
      System.out.print(stringCellValue + "\t"); 
     } 
     System.out.println(); 
    } 

} 

public static void main(String[] args) { 
    String fileName = "C:" + File.separator + "Documents and Settings" 
      + File.separator + "a492161" + File.separator + "Desktop" 
      + File.separator + "FIMTArea.xlsx"; 
    new SeatReconcile().readExcelFile(fileName); 
} 

}

Seat.htm

Seat.jsp

<% String file = request.getParameter(“text1”); String cont = SeatingBean.process(file);

out.println(cont); 

%>

类型不匹配错误请检查并解决这个

回答

0

你可能有在Seat.jsp错误:

SeatingBean.process(file); 

应该

SeatingBean.readExcelFile(file); 

然后readExce lFile(...)也应该返回一个String值和Excel文件的结果。但是另一种解决方案是在jsp页面的列表中返回List和Iterate。例如,

public List readExcelFile(String fileName) { 
    ... 

    return cellData; 
} 

和Seat.jsp

<% 
    String file = request.getParameter("text1"); 
    List cellData = SeatingBean.readExcelFile(file); 
    Iterator i = cellData.iterator(); 

    while (i.hasNext()) { 
%> 
<%= ""+i.next() %><br/> 
<% 
    } 

%> 
+0

<%SeatingBean.readExcelFile(文件名); %>我已经给出了这个代码,但仍然结果是相同的,说fileName无法解析。 – Suri 2011-03-16 08:58:43

+0

不应该是文件而不是fileName?请参阅上述其他评论。 – 2011-03-16 09:09:26

+0

嗨,感谢您的帮助,现在我的查询已解决 – Suri 2011-03-17 03:31:59