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

时间:2021-12-23 11:53:48

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表数据导入到数据库中的更多相关文章

  1. 将 excel文件数据导入MySQL数据库中

    第一步:先将Excel文件另存为文本文件(制表符分割) 第二步:将生成的txt文件另存,并修改编码格式utf8; 第三步:将文件放到指定位置,或自己想要的位置: G:\city.txt 第四步:避免创 ...

  2. 使用phpExcel批量上传excel表数据到mysql数据库中

    /*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件') { //导入类文件 require_once (& ...

  3. Excel表数据导入数据库表中

    ***Excel表数据导入到数据库表中 通过数据库表的模板做成‘Excel’表的数据导入到数据库相应的表中(注意:主表 和 从表的关系,要先导‘主表’在导入从表) 过程:通过数据库的导入工具—先导入为 ...

  4. Excel表数据导入Sql Server数据库中

    Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...

  5. 把execel表数据导入mysql数据库

    今天,是我来公司第二周的第一天. 作为新入职的实习生,目前还没适合我的实质项目工作,今天的学习任务是: 把execel表数据导入到mysql数据库,再练习下java操作JDBC. 先了解下execel ...

  6. C&num; DateTime的11种构造函数 &lbrack;Abp 源码分析&rsqb;十五、自动审计记录 &period;Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C&num;验证码 c&num;&lowbar;生成图片式验证码 C&num; 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  7. java实现EXCEL数据导入到数据库中的格式问题的解决

    之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...

  8. 把Excel的数据导入到数据库

    将Excel作为数据源,将数据导入数据库,是SSIS的一个简单的应用,下图是示例Excel,数据列是code和name 第一部分,Excel中的数据类型是数值类型 1,使用SSDT创建一个packag ...

  9. c&num; SqlBulkCopy实现批量从数据集中把数据导入到数据库中

    今天遇到了一个导入类第一次见 SqlBulkCopy 可以实现从一个数据集导入到数据库中的表中 本来想从数据集中一条条遍历insert到库中 有了这个后发现: 只在把表与数据集的列做一下对应关系,再走 ...

随机推荐

  1. &lbrack;转有改动&rsqb;vi

    转自http://www.51testing.com/html/86/427686-247344.html 多按几次[ESC],系统会发出滴滴声以确定进入命令模式.就进入了命令模式,所有在键盘上打的字 ...

  2. HDU 3879 Base Station(最大权闭合子图)

    经典例题,好像说可以转化成maxflow(n,n+m),暂时只可以勉强理解maxflow(n+m,n+m)的做法. 题意:输入n个点,m条边的无向图.点权为负,边权为正,点权为代价,边权为获益,输出最 ...

  3. LeetCode&colon;455&period; Assign Cookies

    package Others; import java.util.Arrays; //Question 455. Assign Cookies /* Assume you are an awesome ...

  4. 《利用Python进行数据分析》第5章学习笔记

    pandas入门 数据结构 Series Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成.仅由一组数据即可产生最简单的Serie ...

  5. BZOJ1795 &colon; &lbrack;Ioi2008&rsqb;Pyramid Base 金字塔地基

    1.$B>0$ 二分答案,然后扫描线,线段树维护某个点作为左下角时的费用的最小值,支持区间加. 时间复杂度$O(n\log^2n)$. 2.$B=0$ 枚举左边界,则最优右边界可以通过双指针求出 ...

  6. quick-cocos2d-x 接入支付宝(android)&lpar;转,待验证&rpar;

    quick-cocos2d-x 实现在lua里面完成android支付宝的接入 一.支付宝注册是很麻烦的一个过程,本文就不解释了,想了解的去官网看下注册流程.然后下载他们的sdk-WS_SECURE_ ...

  7. 解决mac-osx10&period;11下无法安装wxPython2&period;8-osx-unicode-2&period;8&period;12&period;1的问题

    在mac-osx10.11版本下,安装RIDE前提需要装wxPython2.8-osx-unicode-2.8.12.1库,但在安装wxPython过程中,会提示安装失败,以下提供一种解决方案 这里我 ...

  8. eclipse项目导入到android studio中文乱码处理

    由于eclipse项目是gbk编码,Android studio默认用的是utf-8. 就会导致代码中的汉字,注释全部显示为乱码. 解决方法:在module的bulid.gradle中加入: comp ...

  9. 【转】Syncthing的安装与使用

    Syncthing的安装与使用 无论办公.文件共享.团队协作还是家庭照片.视频.音乐.高清电影的存储,我们常常都有文件同步和存储的需求.但随着国内各大网盘的花式阵亡或限速,早已没什么好选择了. 除了转 ...

  10. SQL Server 创建和修改数据表

    一.CREATE语句(创建) 1.创建DataBase 1.CONTAINMENT SQL Server 2012 新功能 , 默认值是OFF .(太高级 书上也没有详细介绍). 2.ON ON用于两 ...