Jakarta ee 从bean读取数组列表时出错
导入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工作簿 公务舱座位{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
@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/>
<%
}
%>