用java實現(xiàn)excel數(shù)據(jù)批量導(dǎo)入數(shù)據(jù)庫

不管是做軟件還是做網(wǎng)站,相信很多人在做的時候都要用到數(shù)據(jù)庫,而數(shù)據(jù)庫的數(shù)據(jù)從何而來呢,可以使手動添加的,但是大多數(shù)情況下我們使用的是已有的數(shù)據(jù),我們想借助開發(fā)的工具管理目前已有的數(shù)據(jù),如果是小量的數(shù)據(jù),手動錄入也無妨,但是對于大量數(shù)據(jù)呢,手動錄入顯然已經(jīng)不顯示,而且,更多的時候,我們呢想在軟件上增加一個數(shù)據(jù)的批量導(dǎo)入,這樣不管是誰在用這款軟件,都可以方便的管理已有數(shù)據(jù),那么我們最常用的數(shù)據(jù)管理器是什么呢,毫無疑問Excel,但是我們做軟件是幾乎沒有人會使用Excel作為DB,所以我們遇到的問題就是如何在軟件中實現(xiàn)數(shù)據(jù)批量導(dǎo)入,數(shù)據(jù)源是Excel,有人會說用ODBC啊,可以導(dǎo)入到任何地方,但是這種做法好像沒有什么技術(shù)含量,而且讓用戶沒次批量導(dǎo)入的時候都設(shè)置一個ODBC數(shù)據(jù)源是不現(xiàn)實的,今天博主將給大家介紹用春java實現(xiàn)讀取Excel數(shù)據(jù)文件放入Access數(shù)據(jù)庫(各個數(shù)據(jù)庫的原理是一樣的),我們用到的是一個開源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 intoinformation(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;

}

?H??u?N????

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,687評論 18 399
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應(yīng)用。 當JAVA程序違反了JA...
    八爺君閱讀 5,206評論 1 114
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,257評論 0 62
  • 本人的環(huán)境為Myeclipse10、MySQL5.7.15 本文包括:簡介JDBC編程步驟打通數(shù)據(jù)庫程序詳解—Dr...
    廖少少閱讀 4,356評論 7 39
  • 我是一個阿姨,從我40歲開始自學(xué),到現(xiàn)在五個年頭。自從開始拿起畫筆,就瘋狂的愛上畫畫,就是狂熱的愛。 ...
    兔子姐姐愛畫畫閱讀 681評論 16 23

友情鏈接更多精彩內(nèi)容