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

java

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();­

       

       

       

以上是 Java版将EXCEL表数据导入到数据库中 的全部内容, 来源链接: utcz.com/z/394117.html

回到顶部