如何用Java将excel数据导入数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Java将excel数据导入数据库相关的知识,希望对你有一定的参考价值。
我前端时间要导数据,,随便找代码弄了一个 能用的,贴给你看看。public String uploadExcel(HttpServletRequest request) throws Exception
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
System.out.println("通过传统方式form表单提交方式导入excel文件!");
InputStream in =null;
List<List<Object>> listob = null;
MultipartFile file = multipartRequest.getFile("upfile");
if(file.isEmpty())
throw new Exception("文件不存在!");
in = file.getInputStream();
listob = new ImportExcelUtil().getBankListByExcel(in,file.getOriginalFilename());
in.close();
//该处可调用service相应方法进行数据保存到数据库中,现只对数据输出
for (int i = 0; i < listob.size(); i++)
List<Object> lo = listob.get(i);
System.out.println(lo.get(0));
System.out.println(lo.get(1));
Word word = new Word();
word.setId(UUIDTools.getUUID());
word.setChinese(lo.get(1).toString());
word.setEnglish(lo.get(0).toString());
wordService.saveEnglishWord(word);
/* InfoVo vo = new InfoVo();
vo.setCode(String.valueOf(lo.get(0)));
vo.setName(String.valueOf(lo.get(1)));
vo.setDate(String.valueOf(lo.get(2)));
vo.setMoney(String.valueOf(lo.get(3)));
System.out.println("打印信息-->机构:"+vo.getCode()+" 名称:"+vo.getName()+" 时间:"+vo.getDate()+" 资产:"+vo.getMoney()); */
return "result";
ImportExcelUtil类的getBankListByExcel方法:
public List<List<Object>> getBankListByExcel(InputStream in,String fileName) throws Exception
List<List<Object>> list = null;
//创建excel工作簿
Workbook work = this.getWorkbook(in,fileName);
Sheet sheet = null;
Row row = null;
Cell cell = null;
list = new ArrayList<List<Object>>();
//遍历Excel中所有的sheet
for (int i = 0; i < work.getNumberOfSheets(); i++)
sheet = work.getSheetAt(i);
if(sheet==null)continue;
//遍历当前sheet中的所有行
for (int j = sheet.getFirstRowNum(); j < sheet.getLastRowNum(); j++)
row = sheet.getRow(j);
if(row==null||row.getFirstCellNum()==j)continue;
//遍历所有的列
List<Object> li = new ArrayList<Object>();
for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++)
cell = row.getCell(y);
li.add(this.getCellValue(cell));
list.add(li);
// work.close();
return list;
前台弄个上传标签 访问这个action就行了。 参考技术A 自己搜索:POI
以上是关于如何用Java将excel数据导入数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何用JAVA将Excel中的数据导入到sqlserver的表中