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

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

时间: 2024-10-29 19:06:10

Java版将EXCEL表数据导入到数据库中的相关文章

Excel的数据导入到数据库中

导入数据的时候就是怎么链接Excel表?链接的时候最好有后缀名. DataSet myDataSet = new DataSet(); //创建一个数据链接 string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + fileName + ";Extended Properties=Excel 8.0"; OleDbConnection myConn = new OleDbConn

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

第一步:先将Excel文件另存为文本文件(制表符分割) 第二步:将生成的txt文件另存,并修改编码格式utf8; 第三步:将文件放到指定位置,或自己想要的位置: G:\city.txt 第四步:避免创建数据库及表出现中文乱码和查看编码方法: 1.创建数据库的时候:CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 查询字符编码: show variables like'character%'; 将数据库修改

Excel表数据导入数据库表中

***Excel表数据导入到数据库表中 通过数据库表的模板做成‘Excel’表的数据导入到数据库相应的表中(注意:主表 和 从表的关系,要先导‘主表’在导入从表) 过程:通过数据库的导入工具—先导入为一张临时表,在插入到正式表中.语句如下: --YK_TYPK插入数据 insert into YK_TYPK --插入'YK_TYPK(通用品库)'数据 select * from Sheet1$_TYPK_caoyao ---------------------------------------

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

Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nvarchar类型, tt nvarchar类型(注意:my_test表中的数据类型必须与Excel中相应字段的类型一致) 2. 我们用SELECT * FROM  OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel  5.0;DatabASE=[Excel表

怎样把 excel 的数据导入到数据库里面去

1. 把 excel 另存为 .csv 格式 2. 用 Notepad 打开 .csv 文件, 第一行就是所有的字段 3. 创建表结构 create table yu_rt_01 as select Transaction_Id,Last_Update_Date,Last_Updated_By,Creation_Date,Created_By,Last_Update_Login,Request_Id,... ,Lcm_Shipment_Line_Id from rcv_transactions

将csv和txt 数据导入到数据库中

将文本数据导入到数据库中,最简单的选择是:Excel使用OpenSet,csv和txt 使用bulk insert来实现 1,使用OpenRowSet将Excel导入到数据库中 参考<OpenRowSet 用法> 2,使用bulk insert 将txt数据导入到数据库中,文本数据使用Tab分割Column,使用换行符分割row. --create staging table create table dbo.txt_staging ( col1 nvarchar(255), col2 nva

EXCEL表数据导入到ORACLE数据库中

将EXCEL表导入ORACLE数据库中 一.建立表 1.建立表 2.查询表 select * from yy; 二.导入程序 在excel中找到需要导入的数据 2.将excel中的数据另存为文本文件(有制表符分割的) 3.在pl*sql中选择tools-->text importer,在出现的窗口中选择"Data from Textfile",然后再选择"Open data file", 在弹出的文件选择框中选中保存有数据的文本文件,此时将会看到data fr

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

之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. 但是,每次导入的时候还会因为格式问题而惴惴不安,最近把代码拿来研究了一下,网上查了一下. 原来是从cell里取出数据后没有做格式匹配直接赋值导致的.因此,在取出数据写入数据库前做一下格式匹配就好了. SO FRUSTRATED BY THE PREVIOUS IGNORANCE! 1 //把EXC

把Excel的数据导入到数据库

将Excel作为数据源,将数据导入数据库,是SSIS的一个简单的应用,下图是示例Excel,数据列是code和name 第一部分,Excel中的数据类型是数值类型 1,使用SSDT创建一个package,创建Excel data source component,SSDT会在Connection Managers中创建一个Excel的connection 由于示例Excel的首行是列名,所以需要勾选"First row has column names",Excel connectio