Java版将EXCEL表数据导入到数据库中

1.采用第三方控件JXL实现

    1.  
            
      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");  
              }  
       
            

       

       
            

      2.添加POI jar包到项目的lib目录下

      public class TestExcel {­
             //记录类的输出信息­
             static Log log = LogFactory.getLog(TestExcel.class); ­
             //获取Excel文档的路径­
             public static String filePath = "D://excel.xls";­
            public static void main(String[] args) {­
                   try                   // 创建对Excel工作簿文件的引用­
                         HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));­ 
                         // 在Excel文档中,第一张工作表的缺省索引是0
                         // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);­
                         HSSFSheet sheet = wookbook.getSheet("Sheet1");­
                         //获取到Excel文件中的所有行数­
                         int rows = sheet.getPhysicalNumberOfRows();
                         //遍历行­
                         for (int i = 0; i < rows; i++) {­
                               // 读取左上端单元格­
                               HSSFRow row = sheet.getRow(i);­
                               // 行不为空­
                               if (row != null) {­
                                     //获取到Excel文件中的所有的列­
                                     int cells = row.getPhysicalNumberOfCells();­
                                     String value = "";     ­
                                     //遍历列­
                                     for (int j = 0; j < cells; j++) {­
                                           //获取到列的值­
                                           HSSFCell cell = row.getCell(j);­
                                           if (cell != null) {­
                                                 switch (cell.getCellType()) {­
                                                       case HSSFCell.CELL_TYPE_FORMULA:­
                                                       break                                                 case HSSFCell.CELL_TYPE_NUMERIC:­
                                                             value += cell.getNumericCellValue() + ",";        ­
                                                       break;  ­
                                                       case HSSFCell.CELL_TYPE_STRING:­
                                                             value += cell.getStringCellValue() + ","                                                 break                                                 default                                                       value += "0"                                                 break                               }      
                               // 将数据插入到mysql数据库中­
                               String[] val = value.split(",");­
                               TestEntity entity = new TestEntity();­
                               entity.setNum1(val[0]);­
                               entity.setNum2(val[1]);­
                               entity.setNum3(val[2]);­
                               entity.setNum4(val[3]);­
                               entity.setNum5(val[4]);­
                               entity.setNum6(val[5]);­
                               TestMethod method = new TestMethod();­
                               method.Add(entity);­
             } catch (FileNotFoundException e) {­
                   e.printStackTrace();­
             } catch (IOException e) {­
                   e.printStackTrace();­
      

       

       

       

转载于:https://www.cnblogs.com/mgzy/p/3850409.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaExcel导入并存储到数据库可以按照以下步骤进行: 1. 使用Java的Apache POI库来读取Excel数据。首先,需要添加POI依赖项到项目的构建文件。 2. 使用POI库的Workbook类打开Excel文件。根据文件的扩展名(.xls或.xlsx),选择适当的Workbook实现类。 3. 通过获取工作(Sheet)并遍历工作的行(Row)和单元格(Cell),可以获取Excel数据。根据Excel的结构,可以使用getCell()方法获取特定单元格的数据。 4. 通过解析每个单元格的数据,并使用Java数据结构(如List、Map等)将其存储到内存,以便稍后将其存储到数据库。 5. 连接到数据库,并使用JDBC(Java数据库连接)编程接口来执行数据库操作。首先,需要加载适当的数据库驱动程序,并使用合适的URL、用户名和密码建立连接。 6. 创建数据库,以存储从Excel导入数据。根据Excel的结构,使用SQL语句创建和列。 7. 使用JDBC的PreparedStatement接口,为每个数据行创建并执行INSERT语句来将数据插入到数据库。通过遍历内存数据集合,可以为每个数据行绑定参数并执行INSERT语句。 8. 在插入所有数据行后,提交并关闭数据库连接。关闭数据库连接可以释放资源,并确保数据被正确写入数据库。 9. 在完成数据导入后,可以进行必要的数据校验和验证。例如,检查插入的行数是否与Excel的行数相匹配,或者检查插入的数据是否满足业务规则。 以上是将Excel数据导入数据库的基本步骤。+这个过程涉及到的具体实施会有更多的细节和实现方式,可以根据具体需求进行调整和改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值