Java版将EXCEL表数据导入到数据库中
2009-12-02 16:06
309 查看
可能很多开发者会面对客户这样的需求,在未使用系统之前,他们很多数据都是保存在Word或者Excel等一些电子表格中,现在他们需要将原来的数据自动导入到系统中去,而不是一条一条地手工录入。我就碰到了这样的需求,经过一番折腾之后,终于实现了,我是采用第三方控件JXL实现的,原理是比较简单的。下面是详细的代码:
有几个需要注意的地方说一下:
一是在使用JXL控件之前,需要将jxl.jar添加到工程中,而且jxl.jar要是最新的版本,如果版本很旧的话,会造成它跟JDK不兼容的问题.
二是要导入的Excel表单元格中不能存在排序,筛选,错误检查,数据有效性检查等符号,如果有则要在导入前,先去掉这些符号。
三就是注意单元列的数据类型,以便在处理时匹配我们规定的数据类型。
这里我只是演示读取Excel表数据,然后插入到数据库,当然它还可以对Excel执行写,删除操作。
try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls")); //获取该工作表中的第一个工作表 Sheet sheet=workBook.getSheet(0); //获取该工作表的行数,以供下面循环使用 int rowSize=sheet.getRows(); for(int i=0;i<rowSize;i++) { //编号 String id=sheet.getCell(0,i).getContents(); //转来单位及文号 String turn_unit=sheet.getCell(1,i).getContents(); //来信人姓名 String reg_name=sheet.getCell(2,i).getContents(); //来信人单位或住址 String reg_unit=sheet.getCell(3,i).getContents(); //来信内容 String reg_content=sheet.getCell(4,i).getContents(); //来信日期 Date reg_time = java.sql.Date.valueOf(sheet.getCell(5,i).getContents()); //信访事项发生地或单位 String reg_eventUnit=sheet.getCell(6,i).getContents(); //处理情况 String do_case=sheet.getCell(7,i).getContents(); //处理日期 Date do_time=java.sql.Date.valueOf(sheet.getCell(8,i).getContents()); //问题归类 String problem_type=sheet.getCell(9,i).getContents(); //问题所属系统 String problem_system=sheet.getCell(10,i).getContents(); //督办时间及文号 String wenhao=sheet.getCell(11,i).getContents(); //经办人 String processor=sheet.getCell(12,i).getContents(); //备注 String remark=sheet.getCell(13,i).getContents(); LcTOldRegServiceImpl regService=new LcTOldRegServiceImpl(); LctOldReg reg=new LctOldReg(id,turn_unit,reg_name,reg_unit,reg_time,do_time,wenhao,problem_system,problem_type,reg_eventUnit,remark,reg_content,processor,do_case); //执行保存数据到数据库语句……. regService.add_qzlx(reg); System.out.print("已成功导入第"+id+"条纪录"); } return mapping.findForward("import_success"); } catch(Exception ex) { System.out.print(ex.getMessage()); return mapping.findForward("import_faile"); }
有几个需要注意的地方说一下:
一是在使用JXL控件之前,需要将jxl.jar添加到工程中,而且jxl.jar要是最新的版本,如果版本很旧的话,会造成它跟JDK不兼容的问题.
二是要导入的Excel表单元格中不能存在排序,筛选,错误检查,数据有效性检查等符号,如果有则要在导入前,先去掉这些符号。
三就是注意单元列的数据类型,以便在处理时匹配我们规定的数据类型。
这里我只是演示读取Excel表数据,然后插入到数据库,当然它还可以对Excel执行写,删除操作。
相关文章推荐
- java将excel数据导入数据库,将数据库中的数据导入excel
- Java实现批量导入excel表格数据到数据库中的方法
- 转载Java导入excel数据到数据库。
- java用poi从Excel导入数据到数据库
- 用Java代码将excel中的数据导入到数据库中
- javaweb Excel数据导入数据库
- java实现EXCEL数据导入到数据库中的格式问题的解决
- Java实现Excel导入数据库,数据库中的数据导入到Excel
- java 实现Excel数据导入数据库时,中文乱码问题
- java实现Excel导入数据库,数据库中的数据导入到Excel表格中
- Java将数据库数据导入EXCEL
- java中jxl将数据库中的数据导入到excel中
- 如何用Java将excel数据导入数据库
- java代码实现excel数据导入数据库
- 用java导入Excel数据到数据库
- Java 使用poi把数据库中数据导入Excel的解决方法
- 从excel导入数据时显现进度条-用java导入Excel数据到数据库(实时进度条)
- 用java实现excel数据批量导入数据库
- JAVA实现数据库数据导入/导出到Excel(POI技术)
- Java实现Excel导入数据库,数据库中的数据导入到Excel