Jakarta ee 从bean读取数组列表时出错

Jakarta ee 从bean读取数组列表时出错,jakarta-ee,Jakarta Ee,导入java.io.File; 导入java.io.FileInputStream; 导入java.util.ArrayList; 导入java.util.Iterator; 导入java.util.List 导入org.apache.poi.xssf.usermodel.XSSFCell; 导入org.apache.poi.xssf.usermodel.XSSFRow; 导入org.apache.poi.xssf.usermodel.xssfheet; 导入org.apache.poi.xss

导入java.io.File; 导入java.io.FileInputStream; 导入java.util.ArrayList; 导入java.util.Iterator; 导入java.util.List

导入org.apache.poi.xssf.usermodel.XSSFCell; 导入org.apache.poi.xssf.usermodel.XSSFRow; 导入org.apache.poi.xssf.usermodel.xssfheet; 导入org.apache.poi.xssf.usermodel.xssf工作簿

公务舱座位{

@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.jsp中有错误:

SeatingBean.process(file); 
应该是

SeatingBean.readExcelFile(file);
然后readExcelFile(…)还应该返回一个字符串值和Excel文件的结果。但是另一个解决方案是返回列表并在jsp页面中迭代该列表。例如

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/>
<%
    }

%>



我已经给出了这段代码,但结果仍然是一样的,即无法解析文件名。这不应该是文件而不是文件名吗?请参阅上面的其他注释。
<%
    String file = request.getParameter("text1");
    List cellData = SeatingBean.readExcelFile(file);
    Iterator i = cellData.iterator();

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

%>