Java 将上传的Excel文件中的数据存储在数据库中
我有一个代码,可以通过读取Excel文件并将其存储在数据库中来处理上传Excel文件的操作。代码如下,它正在编译,但给出了一个错误 请参阅下面的代码:Java 将上传的Excel文件中的数据存储在数据库中,java,excel,jsp,Java,Excel,Jsp,我有一个代码,可以通过读取Excel文件并将其存储在数据库中来处理上传Excel文件的操作。代码如下,它正在编译,但给出了一个错误 请参阅下面的代码: 上传时间表 0) { %> Excel文件中的以下详细信息已插入数据库的学生表中 受试者ID 主题名称 官能 日期 时间 等级 以下是错误的堆栈跟踪: org.apache.jasper.JasperException: An exception occurred processing JSP page /admin_tim
上传时间表
0) { %>
Excel文件中的以下详细信息已插入数据库的学生表中
受试者ID
主题名称
官能
日期
时间
等级
以下是错误的堆栈跟踪:
org.apache.jasper.JasperException: An exception occurred processing JSP page /admin_timetable_upload.jsp at line 80
77: for (int i=1;i < dataHolder.size(); i++)
78: {
79: System.out.println("dataHolder.size()="+dataHolder.get(i));
80: cellStoreArrayList=(ArrayList)dataHolder.get(i);
81: ps.setString(1,((HSSFCell)cellStoreArrayList.get(0)).toString());
82: ps.setString(2,((HSSFCell)cellStoreArrayList.get(1)).toString());
83: ps.setString(3,((HSSFCell)cellStoreArrayList.get(2)).toString());
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
root cause
java.lang.ClassCastException: org.apache.poi.hssf.usermodel.HSSFCell cannot be cast to java.util.ArrayList
org.apache.jsp.admin_005ftimetable_005fupload_jsp._jspService(admin_005ftimetable_005fupload_jsp.java:199)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.JasperException:在第80行处理JSP页面/admin\u timeline\u upload.JSP时发生异常
77:for(int i=1;i
如何解决此问题?您不需要强制执行此操作:
cellStoreArrayList = (ArrayList) dataHolder.get(i);
在ArrayList中,它已经返回一个HSSFCell,因此您只需执行以下操作:
HSSFCell cell = dataHolder.get(i);
为什么在声明
PreparedStatement ps
变量之前要使用它?它是在readExcelFile中声明的,在使用ps变量之前调用readExcelFile