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

不管是做软件还是做网站,相信很多人在做的时候都要用到数据库,而数据库的数据从何而来呢,可以使手动添加的,但是大多数情况下我们使用的是已有的数据,我们想借助开发的工具管理目前已有的数据,如果是小量的数据,手动录入也无妨,但是对于大量数据呢,手动录入显然已经不显示,而且,更多的时候,我们呢想在软件上增加一个数据的批量导入,这样不管是谁在用这款软件,都可以方便的管理已有数据,那么我们最常用的数据管理器是什么呢,毫无疑问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;
 }

时间: 2024-08-06 20:08:35

用java实现excel数据批量导入数据库的相关文章

java把excel数据批量导入到数据库

java把excel数据批量导入到数据库中,java导入excel数据代码如下 1.    public List<Choice> GetFromXls(String xlsname){ 2. 3.        List<Choice> choices = new ArrayList<Choice>(); 4.        Choice choice=null; 5.        try { 6.            java.io.File file=new

使用python,将excel数据批量导入数据库

这是上一篇文章的优化版本,相较于一条一条的执行sql语句,本文中,将excel中所有的数据先写到list列表中 在通过函数 cursor.executemany(sql, list) 一次性写入到数据库中 import pymysql import xlrd ''' 连接数据库 args:db_name(数据库名称) returns:db ''' def mysql_link(de_name): try: db = pymysql.connect(host="127.0.0.1", u

Excel数据批量导入到数据库

1.今天做批量导入网上找了个例子,改了改,运行起来了.用POI实现Excel的读取,需要jar包. 2.ReadExcel.java读取数据 /** * */ package com.b510.excel; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import

将Excel中的数据批量导入数据库表

private boolean import_to_database(String excel_path) throws BiffException, IOException, HsException{ File file = new File(excel_path);//根据文件名创建一个文件对象 Workbook wb = Workbook.getWorkbook(file);//从文件流中取得Excel工作区对象 Sheet sheet = wb.getSheet(0);//从工作区中取得

C# NPOI的数据批量导入数据库

public ActionResult Upload(HttpPostedFileBase Namefile)        {            //判断文件是否存在            if (Namefile == null)            {                return Content("没有文件");            }            //获取上传文件的名称,位置            var fileName = DateTime

windows命令行下导入excel数据到SQLite数据库

1.转换文件格式,防止中文乱码:将excel保存成"CSV(逗号分隔)(*.csv)"格式,关闭文件,用记事本打开刚才保存的.csv文件,然后另存为UTF-8格式文本.需要注意的是,经过这样的转换,数字也全变成文本了. 2.通过adb shell(adb.exe存放在android开发软件安装文件夹中,如 F:\Develope\Tools\adt-bundle-windows-x86\sdk\platform-tools\)更改sqlite数据库的使用权限.运行adb之前要先打开AV

c#如何将dataset中的数据批量导入oracle数据库

不要写insert语句,因为数据库字段太多了,有什么简单点的效率高的方法吗 public void MultiInsertData(DataSet ds) { string connt = "Oracle的连接字符串"; string sql = "select id,name,- from tablename";必须与ds中的一致 DataTable dt = ds.Defaults[0]; OracleConnection conn = new OracleCo

excel十几万行数据快速导入数据库研究(转,下面那个方法看看还是可以的)

先贴原来的导入数据代码: 8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") ''' Django 版本大于等于1.7的时候,需要加上下面两句 import django django.setup() 否则会抛出错误 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. ''' im

[DJANGO] excel十几万行数据快速导入数据库研究

先贴原来的导入数据代码: 8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") ''' Django 版本大于等于1.7的时候,需要加上下面两句 import django django.setup() 否则会抛出错误 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. ''' im