JSP通过poi读取Excel把取到的值插入mysql
JSP通过poi读取Excel把取到的值插入mysql,一直都解析不了。。。解析了都是报错:java.lang.IllegalStateException: Cannot get a text value from a numeric cell
代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.io.*" errorPage="" %> <%@ page import="java.io.*,org.apache.poi.poifs.filesystem.POIFSFileSystem,org.apache.poi.hssf.record.*,org.apache.poi.hssf.model.*,org.apache.poi.hssf.usermodel.*,org.apache.poi.hssf.util.*" %> <%request.setCharacterEncoding("gb2312");%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>用poi.jar来读取excel2003</title> </head> <body bgcolor="#F2F8FF"> <% try{ String file = application.getRealPath("/") + "upload\demo.xls"; POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file)); HSSFWorkbook xwb = new HSSFWorkbook(fs); //读取第一个sheet HSSFSheet sheet = xwb.getSheetAt(0); //定义 row、cell HSSFRow row; HSSFCell cell; String output; int rowNum; int cellNum; //循环输出表格中的内容 output = ""; rowNum = sheet.getPhysicalNumberOfRows(); for (int i = 0; i < rowNum; i++) { row = sheet.getRow(i); cellNum = row.getPhysicalNumberOfCells(); for (int j = 0; j < cellNum; j++) { cell = row.getCell(j); output = output + cell.getStringCellValue() + " "; } output = output + "<br />"; } out.print(output); }catch(Exception e){ out.print(e.toString()); } %> </body> </html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
你这问题问的太笼统了。根本就让别人看的一头雾水。报错,报什么错。最起码把报错代码贴出来。
你这问题问的太笼统了。根本就让别人看的一头雾水。报错,报什么错。最起码把报错代码贴出来。
那不用说了,用的就是poi。。还没解决,解析不了
回复
那你这个问题也没有必要问啊,报什么错都不贴出来是让我们大家猜你是出了什么错吗。
我可以告诉你方案就是POI吗。
贴下报错和代码啊。。。
解析了都是报错 又不说是什么错谁知道你是什么问题啊
额,你需要根据获取单元格的类型,再取值。参考代码如下: