首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从beans读取数组列表时出错

从beans读取数组列表时出错
EN

Stack Overflow用户
提问于 2011-03-16 14:27:45
回答 1查看 643关注 0票数 0

导入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.XSSFSheet;导入org.apache.poi.xssf.usermodel.XSSFWorkbook;

公开课座位{

代码语言:javascript
复制
@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(文件);

代码语言:javascript
复制
out.println(cont);

%>

类型不匹配错误,请检查并解决此问题

EN

回答 1

Stack Overflow用户

发布于 2011-03-16 16:39:01

您可能在Seat.jsp中有一个错误:

代码语言:javascript
复制
SeatingBean.process(file); 

应该是

代码语言:javascript
复制
SeatingBean.readExcelFile(file);

然后是readExcelFile(...)还应返回包含Excel文件结果的字符串值。但另一种解决方案是返回列表并迭代jsp页面中的列表。例如,

代码语言:javascript
复制
public List readExcelFile(String fileName) {
   ...

   return cellData;
}

在Seat.jsp中

代码语言:javascript
复制
<%
    String file = request.getParameter("text1");
    List cellData = SeatingBean.readExcelFile(file);
    Iterator i = cellData.iterator();

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

%>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5321781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档