⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataimport.java

📁 数据导入类DataImport 把Excel表中的数据导入数据库中
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package DataImportExport;

////--引入包--//////////////////////
import DataBase.Operator.*;  //向数据库插入数据;修改数据库的数据;删除数据库的数据
import java.sql.*;           //生成ResultSet对象
import java.util.*;
import jxl.*;                // JExcel API 操作 MicroSoft Excel文件
import jxl.read.biff.*;
import jxl.write.*;
import java.io.*;            //生成 File对象

////////////////////////////////////////////////////////////////////
///                                                              ///
///                 描述:数据导入类DataImport                    ///
///                 功能:把Excel表中的数据导入数据库中            ///
///                 作者:欧阳湘江、袁虎声                         ///
///                 时间:2004年11月                              ///
///                                                              ///
////////////////////////////////////////////////////////////////////
public class DataImport extends TableInfo
{

  int selectIndex[];                //
  int selectColumnNum=0;


  int rsRows=0;                     //Sheet表中所包含的总行数
  int rsCols=0;                     //Sheet表中所包含的总列数
  int insertRows=0;                 //插入影响行数
  int updateRows=0;                 //修改影响行数
  int deleteRows=0;                 //删除影响行数
  String[] excelColumnName;         //
  jxl.Workbook readWorkbook;        //Excel工作簿对象
  Sheet sheetResult;                //Excel表对象

  String oprationType="";           //更新操作类型
  String timeCond="";               //时间条件
  String time="";                   //时间
  String timeName="";               //时间字段名
  String department="";

  String[]  additionalColumnName=null;
  String[] additionalColumnNameType=null;
  int  additionalColumnNameNumber=0;

  String fileName="";               //源文件名
  int firstLine=0;                  //Excel表数据起始行



  String condHead=null;//SQL执行语句的前部分
  String cond=null;//SQL执行语句
  String deleteCond="";      //删除记录条件

  String additionalCondHead="";
  String additionalCond="";
  public DataImport()
  {
    super();
  }

 public void destroyDataImport()
  {
    tableName="";
    tableChineseName="";
    columnName=null;
    columnChineseName=null;
    columnCount=0;
    columnType=null;
    columnLength=null;
    permitNull=null;
    primaryKeys=null;
    primaryKeyNumber=0;
    primaryKeyIndex=null;
    foreignKeys=null;
    foreignKeyNumber=0;
    feedbackMessage="";

    selectIndex=null;
    selectColumnNum=0;
    rsRows=0;
    rsCols=0;
    insertRows=0;
    updateRows=0;
    deleteRows=0;
    excelColumnName=null;
    readWorkbook=null;
    sheetResult=null;
    oprationType="";
    timeCond="";
    time="";
    timeName="";
    fileName="";
    firstLine=0;
    condHead=null;
    cond=null;
    deleteCond="";
  }

////////////////////////获取Sheet表中所包含的总行数////////////
  public int getRsRows()
  {

    return rsRows;
  }
////////////////////////获取插入总行数////////////
  public int getInsertRows()
  {
    return insertRows;
  }
////////////////////////获取修改总行数////////////
  public int getUpdateRows()
  {
    return updateRows;
  }

////////////////////////获取删除总行数////////////
  public int getDeleteRows()
  {
    return deleteRows;
  }

////////////////////////获取Sheet表中所包含的总列数数组//////////////////////
  public int getRsCols()
  {
    return rsCols;
  }
////////////////////////获取Sheet表中所包含的列名数组//////////////////////
  public String[] getExcelColumnName()
  {
    return  excelColumnName;
  }
/////////////////////////取设时间条件//////////////////////
  public void setTimeCond(String tc)
  {
    timeCond=tc;
  }
  public String getTimeCond()
  {
    return timeCond;
  }
//////////////////////////取设时间//////////////////////
  public void setTime(String t)
  {
    time=t;
  }
  public String getTime()
  {
    return time;
  }

////////////////////////取设时间字段名//////////////////////
  public void setTimeName(String tn)
  {
    timeName=tn;
  }
  public String getTimeName()
  {
    return timeName;
  }
  ////////////////////////取设时间字段名//////////////////////
  public void setDepartment(String dp)
  {
    department=dp;
  }
  public String getDepartment()
  {
    return department;
  }


/////////////////////////////////////////////
  public void setAdditionalColumnNameType(String[]  acnt)
  {
    additionalColumnNameType=acnt;
  }
  public String[] getAdditionalColumnNameType()
  {
    return additionalColumnNameType;
  }

  public void setAdditionalColumnName(String[]  acn)
  {
    additionalColumnName=acn;
  }
  public String[] getAdditionalColumnName()
  {
    return additionalColumnName;
  }

  public void setAdditionalColumnNameNumber(int acnn)
  {
    additionalColumnNameNumber=acnn;
  }
  public int getAdditionalColumnNameNumber()
  {
    return additionalColumnNameNumber;
  }

//////////////////////取设更新操作类型//////////////////////////////
  public void setOprationType(String optype)
  {
    oprationType=optype;
  }
  public String getOprationType()
  {
      return oprationType;
  }
////////////////////// 取SQL执行语句cond //////////////////////////////
  public String getCond()
  {
    return cond;
  }
////////////////////// 取SQL执行语句头部condHead //////////////////////////////
  public String getCondHead()
  {
    return condHead;
  }

  ////////////////////// 取设删除条件 //////////////////////////////
  public void setDeleteCond(String delCon)
  {
    deleteCond=delCon;
  }

  public String getDeleteCond()
  {
    return deleteCond;
  }
/////////////////////////////////////////////////////////////////
  public void setAdditionalCond(String adc)
  {
    additionalCond=adc;
  }

  public String getAdditionalCond()
  {
    return additionalCond;
  }

  public void setAdditionalCondHead(String adch)
  {
    additionalCondHead=adch;
  }
  public String getAdditionalCondHead()
  {
    return additionalCondHead;
  }




  ////////////////////////////////////////////////////////////////////
  ///                                                              ///
  ///                  查询EXCEL表字段名                           ///
  ///                                                              ///
  ////////////////////////////////////////////////////////////////////

  public boolean queryExcelColName(String fn,String firstCh)
  {
    //读取数据Excel文件中的数据
    //构建Workbook对象, 只读Workbook对象
    //直接从本地文件创建Workbook
    //从输入流创建Workbook

      fileName=fn;

      try {
        readWorkbook = jxl.Workbook.getWorkbook(new java.io.File(fileName));
        sheetResult = readWorkbook.getSheet(0);

        //获取第一张Sheet表
        rsRows = sheetResult.getRows();
        rsCols = sheetResult.getColumns();
        excelColumnName=new String[rsCols];

        if(firstCh.equals("1"))
        {
          Cell cc;
          for (int i = 0; i < rsCols; i++)
          {
            cc=sheetResult.getCell(i,0);
            excelColumnName[i]=cc.getContents();
          }
          firstLine=1;
        }
        else
        {
          for (int i = 0; i < rsCols; i++)
          {
            String colCh="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            excelColumnName[i]=colCh.substring(i,i+1);
          }
          firstLine=0;
        }

        feedbackMessage="查询成功";
        return true;
      }
      catch (BiffException ex)
      {
        feedbackMessage="读Biff文件失败!请检查你的源文件后重试。";
        return false;
      }
      catch (IOException ex)
      {
        feedbackMessage="读IO文件失败!请检查你的源文件后重试。";
        return false;
      }
  }

  ////////////////////////////////////////////////////////////////////
  ///                                                              ///
  ///                  从EXCEL文件中导入数据到数据库                   ///
  ///                                                              ///
  ////////////////////////////////////////////////////////////////////
  public  boolean excelImport(int sltIndex[],int scn)
  {

       selectIndex=sltIndex;  //获取Sheet表列与目标表列对应下标数组
       selectColumnNum=scn;

       //更新(先删除,再插入)
       if(oprationType.equals("deleteUpdate"))
       {
         feedbackMessage ="删除操作开始";
         return   deleteThenUpdate();
       }
       //更新(存在则修改,不存在则插入)
       else if(oprationType.equals("updateInsert"))
       {
          return updateThenInsert();
       }
       else
       {
         feedbackMessage ="非法连接";
         return false;
       }
  }

  ////////////////////////////////////////////////////////////////////
  ///                                                              ///
  ///                  更新(先删除,再插入)                        ///
  ///                                                              ///
  ////////////////////////////////////////////////////////////////////
  public  boolean deleteThenUpdate()
  {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -