当前位置: 传客网 > 用java实现excel数据批量导入数据库

用java实现excel数据批量导入数据库

2016-12-29 作者:奔跑

不管是做软件还是做网站,相信很多人在做的时候都要用到数据库,而数据库的数据从何而来呢,可以使手动添加的,但是大多数情况下我们使用的是已有的数据,我们想借助开发的工具管理目前已有的数据,如果是小量的数据,手动录入也无妨,但是对于大量数据呢,手动录入显然已经不显示,而且,更多的时候,我们呢想在软件上增加一个数据的批量导入,这样不管是谁在用这款软件,都可以方便的管理已有数据,那么我们最常用的数据管理器是什么呢,毫无疑问Excel,但是我们做软件是几乎没有人会使用Excel作为DB,所以我们遇到的问题就是如何在软件中实现数据批量导入,数据源是Excel,有人会说用ODBC啊,可以导入到任何地方,但是这种做法好像没有什么技术含量,而且让用户没次批量导入的时候都设置一个ODBC数据源是不现实的,今天博主将给大家介绍用春java实现读取Excel数据文件放入Access数据库(各个数据库的原理是一样的),我们用到的是一个开源API,jxl,代码如下:

public static boolean readExcel(String filePath){
  boolean success=false;
  Workbook rwb = null;
  try{
   InputStream is = new FileInputStream(filePath);
   rwb = Workbook.getWorkbook(is);
   // 获取第一张Sheet表
   Sheet rs = rwb.getSheet(0);
   for (int k = 1; k < rs.getRows(); k++){
    String major=rs.getCell(0, k).getContents();
       String year=rs.getCell(1, k).getContents();
    String class1=rs.getCell(2, k).getContents();
    String number1=rs.getCell(3, k).getContents();
    String name=rs.getCell(4, k).getContents();
    String sex=rs.getCell(5, k).getContents();
    String people=rs.getCell(6, k).getContents();
    String area=rs.getCell(7, k).getContents();
    String birth=rs.getCell(8, k).getContents();
    String bodyid=rs.getCell(9, k).getContents();
    String phone=rs.getCell(10, k).getContents();
    String hostel=rs.getCell(11, k).getContents();
    String father=rs.getCell(12, k).getContents();
    String mather=rs.getCell(13, k).getContents();
    String tel=rs.getCell(14, k).getContents();
    String studentstate=rs.getCell(15, k).getContents();
    String level1=rs.getCell(16, k).getContents();
    String party=rs.getCell(17, k).getContents();
    String duties=rs.getCell(18, k).getContents();
    String english=rs.getCell(19, k).getContents();
    String computer=rs.getCell(20, k).getContents();
    String address=rs.getCell(21, k).getContents();
    String personstation=rs.getCell(22, k).getContents();
    String fundingstation=rs.getCell(23, k).getContents();
    String awardstation=rs.getCell(24, k).getContents();
    String punishmentstation=rs.getCell(25, k).getContents();
    String other1=rs.getCell(26, k).getContents();
    String picturepath="";
    if(major.equals("")||class1.equals("")||name.equals("")||number1.equals("")){
     success=false;
     break;
    }else{
     String str1="insert into information(major,year,class1,number1,name,sex,people,area,birth,bodyid,phone,hostel,father,mather,tel,studentstate,level1,party,duties,english,computer,address,personstation,fundingstation,awardstation,punishmentstation,other1,picturepath)values('"+major+"','"+year+"','"+class1+"','"+number1+"','"+name+"','"+sex+"','"+people+"','"+area+"','"+birth+"','"+bodyid+"','"+phone+"','"+hostel+"','"+father+"','"+mather+"','"+tel+"','"+studentstate+"','"+level1+"','"+party+"','"+duties+"','"+english+"','"+computer+"','"+address+"','"+personstation+"','"+fundingstation+"','"+awardstation+"','"+punishmentstation+"','"+other1+"','"+picturepath+"')";
        CommonCode.addInfo(str1);
        CommonCode.closeAll(); 
        success=true;
         }
   }
   rwb.close();
  }catch (Exception e){
   e.printStackTrace();
  }
  return success;
 }



相关推荐

  • 实现基于网页的数据库数据导入

    [摘要]文章在介绍SQLServer2000下的数据库数据导入导出方法的基础上,着重讨论了如何实现基于网页的数据库数据导入。[要害词]SQLServer2000;数据导入;DTS1SQLServer2000常用的数据导入导出方法1.1通过D

  • mysql导入数据库文件最大限制更改解决方法:You probably tried to upload too large fil

    最近一次在用phpmyadmin导入mysql数据库时,偶的15M的数据库不能导入,mysql数据库最大只能导入2M..phpmyadmin数据库导入出错:Youprobablytriedtouploadtoolargefile.Pleas

  • mysql数据库数据录入,导出中文乱码问题解决

    mysql数据库数据录入,导出中文乱码问题解决要使得mysql数据库中和导出显示数据为中文1、mysql的配置,在安装好mysql后,配置时将字符编码改为UTF-8,即选中第二项。对具体的数据库中的每一个表的编码改为UTF-82、Apach

  • bugzilla 导入数据库后,数据库内容显示乱码

    因为myql数据库默认存储格式为latin1,但bugzilla3读取数据时是以utf8格式读取,所以对双字节字符易形成乱码?解决方法:1、修bugzilla源码,使其支持中文。2、修改mysql数据库存储格式与数据库默认格式。在这里只介绍

  • Delphi编程将数据库数据快速导入Excel

    在开发数据库应用程序中,经常要将类型相同的数据导出来,放到Excel文件中,利用Excel强大的编辑功能,对数据作进一步的加工处理。这有许多的方法,我们可以使用OLE技术,在Delphi中创建一个自动化对象,通过该对象来传送数据。也可以使用

  • bugzilla导入数据库后,分发bugs时出错

    注:以下问题没有有最终解决,现在正在解决过程中。bugzilla导入数据库后,分发bugs时,点击第一次提交时,会也现如下错误。出现错误后再提交一次时,bugs颁发成功,但收不到邮件。错误如下:{{undeferror-DBD::mysql

  • Oracle数据库(数据库名、实例名、数据库域名)

    数据库名、实例名、数据库域名、全局数据库名、服务名一、数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建

  • SybaseIQ导入数据库Load失败

    使用isql导入脚本的方式Load数据到IQ中时,出现下面错误:(0rowsaffected)Msg21,Level14,State0:SQLAnywhereError-1013027:Numberofbytes(2)foracolumnf

  • 通过 Delphi实现 Java调用 Oracle数据库数据

    推荐文章Page1通过Delphi实现Java调用Oracle数据库数据----在开发WWW网络浏览软件中,时常要用到JAVA画一些生产管理图形,而且大量的图形数据存于网络数据库ORACLE中,现在常用的方法是使用JDBC来实现对数据库的操

  • OCP认证考试指南(9):操纵数据库数据(1)

    1、数据库事务1.1、原子性(A)原子性(Atomicity)原则规定一个事务的各个部分都必须完成,否则整个事务都不会完成。数据库必须保证两个更新操作都能完成或者都不完成。1.2、一致性(C)一致性(Consistency)的原则规定查询的

  • 将excel导入数据库

    先在类中定义一个方法名为ExecleDs的方法,用于将Excel表里的数据填充到DataSet中,代码如下publicDataSetExecleDs(stringfilenameurl,stringtable){stringstrConn=

  • mysql数据库数据分开存放

    不知道为什么 innodb_file_per_table  没有设置成innodb的默认配置共享表空间不会收缩!ibdata1只会一个劲的增长。对于一台服务器上面n个库而且存在库的删除的情况就郁闷了。mysqlibdata1存放数据,索引等

  • 通过 Delphi实现 Java调用 Oracle数据库数据

    推荐文章设计模式之Singleton(单态)J2ME编程中时间处理全攻略编程修养(5)学习GoF设计模式的重要性Page1通过Delphi实现Java调用Oracle数据库数据----在开发WWW网络浏览软件中,时常要用到JAVA画一些生产

  • 两台服务器上SQL Server数据库数据互操作示例

    数据库之间的数据操作*/--创建链接服务器execsp_addlinkedserver'ITSV','','SQLOLEDB','远程服务器名或ip地址'execsp_addlinkedsrvlogin'ITSV','false',null

  • ASM数据库数据库创建详细步&#395

    一:安装linux系统,关闭防火墙和selinux。OracleEnterpriseLinux4.5必须组件安装:GNOMEDesktopEnvironmentEditorsGraphicalInternetText-basedIntern

  • 数据库数据异常导致前台报错

    二月08,201610:10:19上午org.apache.catalina.core.ApplicationDispatcherinvoke严重:Servlet.service()forservletjspthrewexceptionta

  • 把控金融体系损害 还需打通“一行三会”数据库数据

    内容摘要:【股市有损害,出资需严谨。这句股平易近们需要谨记在心的话,在十二届全国人年夜代表、科年夜讯飞(002230,股吧)股份有限公司董事长刘庆峰看来,有着出格寄义。“客岁,我国股市波动惹起了国内外广泛存眷,对股平】正文:  股市有损害,

  • 利用sql数据库数据绘制GUI+图

    (运行效果)代码:privateintSum;SqlConnectionConn;privatevoidCreateImage(){stringSqlstr="server=.;database=SuperKTV;uid=sa;pwd=12

  • ADO.NET-本地存储数据库数据

    using(SqlConnectionconn=newSqlConnection("DataSource=.;InitialCatalog=MYTEST;UserID=sa;Password=13750016721")){conn.Open

  • 导入关系型数据库-解密Sqoop

    Sqoop作为Hadoop与传统数据库之间的桥梁,对于数据的导入导出有着重要作用。通过对Sqoop基本语法以及功能的阐述,深刻解密Sqoop的作用和价值。一、什么是ApacheSqoop?Cloudera开发的Apache开源项目,是SQL

返回
顶部