导入Excel到数据库 本帖最后由 zhangzhis 于 2014-07-15 15:19:20 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 读取excle 的数据循环写到 数据库中,还有其他方法吗。? 我 一般用workbook 解析 取值 用poi解析,然后一个cell一个cell存数据库,比如这个例子: public List<List<Object>> readExcel(int page,File fileName) throws FileNotFoundException, IOException{ List<List<Object>> lists = new ArrayList<List<Object>>(); HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(fileName)); HSSFSheet sheet = hwb.getSheetAt(page); HSSFRow row = null; HSSFCell cell = null; Object value = null; for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) { row = sheet.getRow(i); if(row == null){ continue; } List<Object> alist = new ArrayList<Object>(); for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) { cell = row.getCell((short) j); if(cell == null){ continue; } DecimalFormat df = new DecimalFormat("0"); switch(cell.getCellType()){ case HSSFCell.CELL_TYPE_STRING: value = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: value = df.format(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_BOOLEAN: value=cell.getBooleanCellValue(); break; case HSSFCell.CELL_TYPE_BLANK: value = ""; break; default: value = cell.toString(); } if(value==null || "\n".equals(value)|| "".equals(value)){ continue; } alist.add(value); } if(!alist.isEmpty()) lists.add(alist); } return lists; }你可以直接解析,不存到list中,取出一个cell就判断存不存,我也正好在做excel解析的功能,就套用了这个例子。 利用POI读取excel批量插入数据库即可 jxl读取Excel,循环或批量插入数据库 页面文件按钮选择了Excel,上传到服务器里,然后,你可以通过Apache POI读取解析这个Excel文件(Excel文件内容格式符合你数据表的规范),详细你搜索一下Apache POI使用方法和文档,连接数据库添加到表里。 你这个只是针对2003版本的你应该考虑到2007版本的,上面一个小伙伴说workbook的这个是可以的。 软件使用说明书 eclipse中建立tomcat项目,但是没有web.xml 大哥们帮帮我啊,,两天了 还没搞成!! 为什么jsp页面不能识别java输出的标签,求解答 关于表单的问题~~~~急 请问:在www.google.com里面,如何将一个我喜欢的网站放在第一条的位置 简单问题:第一个 我的JSP文件应该放在什么地方啊? 请问怎样在jsp页面中得到当前年份?即2002 jquery 弹出层增加关闭按钮问题,点关闭为什么关闭不了 求救。关于java web 买东西 排队机制的问题 ssh 连接池问题 错误信息连接报错求大神解决急!!!!!!!!!!!!!!!!!!!!!
还有其他方法吗。?
public List<List<Object>> readExcel(int page,File fileName) throws FileNotFoundException, IOException{
List<List<Object>> lists = new ArrayList<List<Object>>();
HSSFWorkbook hwb = new HSSFWorkbook(new FileInputStream(fileName));
HSSFSheet sheet = hwb.getSheetAt(page);
HSSFRow row = null;
HSSFCell cell = null;
Object value = null;
for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
if(row == null){
continue;
}
List<Object> alist = new ArrayList<Object>();
for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
cell = row.getCell((short) j);
if(cell == null){
continue;
}
DecimalFormat df = new DecimalFormat("0");
switch(cell.getCellType()){
case HSSFCell.CELL_TYPE_STRING:
value = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
value = df.format(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
value=cell.getBooleanCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
value = "";
break;
default:
value = cell.toString();
}
if(value==null || "\n".equals(value)|| "".equals(value)){
continue;
}
alist.add(value);
}
if(!alist.isEmpty())
lists.add(alist);
}
return lists;
}
你可以直接解析,不存到list中,取出一个cell就判断存不存,我也正好在做excel解析的功能,就套用了这个例子。