Java使用poi包讀取execl

? Execl分為兩個版本,后綴名分別為.xls和.xlsx甸怕,讀取兩種不同版本的execl使用不同的類博敬,所需包直接從apache官網(wǎng)下載導(dǎo)入即可

一、讀取.xls類型的execl文件

/**

*讀取后綴名為.xls的execl文件

*

*@param filePath

*@return

*@throws Exception

*/

public static boolean readXls(String filePath){

InputStream is=null;

HSSFWorkbook hssfWorkbook=null;

try {

is = new FileInputStream(filePath);

hssfWorkbook = new HSSFWorkbook(is);

// 讀取第一張execl表

HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);

int rowNum = 0;

DecimalFormat df = new DecimalFormat("#");

boolean hasMessyCode=false;

for (rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {

HSSFRow row = hssfSheet.getRow(rowNum);

int cellNumber=row.getLastCellNum();

for(int cellNum=0;cellNum<=cellNumber;cellNum++){

HSSFCell cell=row.getCell(cellNum);

switch (cell.getCellType()) {

case XSSFCell.CELL_TYPE_STRING:?????//字符串類型

String cell=row.getCell(cellNum).getStringCellValue();???//進行邏輯處理

break;

case XSSFCell.CELL_TYPE_NUMERIC:???//數(shù)值類型

String cell=df.format(cell.getNumericCellValue()).toString();

break;

case XSSFCell.CELL_TYPE_BOOLEAN:???//布爾類型

String cellValue=String.valueOf(cell.getBooleanCellValue());

break;

case XSSFCell.CELL_TYPE_FORMULA:??//表達式類型

String cell=cell.getCellFormula()+"";

break;

default:

break;

}

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

canOpen=0;

}

return false;

}

二呆奕、讀取.xlsx類型的execl文件

/**

*讀取后綴名為养晋。xlsx的execl文件

*

*@param filePath

*@return

*@throws Exception

*/

public static boolean readXlsx(String filePath){

InputStream is=null;

XSSFWorkbook xssfWorkbook=null;

try {

is = new FileInputStream(filePath);

xssfWorkbook = new XSSFWorkbook(is);

// 讀取第一個execl表

XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);

int rowNum = 0;

DecimalFormat df = new DecimalFormat("#");

boolean hasMessyCode=false;

for (rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {

XSSFRow row = xssfSheet.getRow(rowNum);

int cellNumber=row.getLastCellNum();

for(int cellNum=0;cellNum<=cellNumber;cellNum++){

//校驗cell值

XSSFCell cell=row.getCell(cellNum);

switch (cell.getCellType()) {

case XSSFCell.CELL_TYPE_STRING:

String cellStr=row.getCell(cellNum).getStringCellValue();

break;

case XSSFCell.CELL_TYPE_NUMERIC:

String cellStr=df.format(cell.getNumericCellValue()).toString();

break;

case XSSFCell.CELL_TYPE_BOOLEAN:

String cellStr=String.valueOf(cell.getBooleanCellValue());

break;

case XSSFCell.CELL_TYPE_FORMULA:

String cellStr=cell.getCellFormula()+"";

break;

default:

break;

}

}

}

} catch (Exception e) {

// TODO Auto-generated catch block

canOpen=0;

e.printStackTrace();

}

return false;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市梁钾,隨后出現(xiàn)的幾起案子绳泉,更是在濱河造成了極大的恐慌,老刑警劉巖姆泻,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件零酪,死亡現(xiàn)場離奇詭異冒嫡,居然都是意外死亡,警方通過查閱死者的電腦和手機四苇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門孝凌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛔琅,你說我怎么就攤上這事胎许。” “怎么了罗售?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵辜窑,是天一觀的道長。 經(jīng)常有香客問我寨躁,道長穆碎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任职恳,我火速辦了婚禮所禀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘放钦。我一直安慰自己色徘,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布操禀。 她就那樣靜靜地躺著褂策,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颓屑。 梳的紋絲不亂的頭發(fā)上斤寂,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音揪惦,去河邊找鬼遍搞。 笑死,一個胖子當著我的面吹牛器腋,可吹牛的內(nèi)容都是我干的溪猿。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼纫塌,長吁一口氣:“原來是場噩夢啊……” “哼再愈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起护戳,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤翎冲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后媳荒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抗悍,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡驹饺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缴渊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赏壹。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖衔沼,靈堂內(nèi)的尸體忽然破棺而出蝌借,到底是詐尸還是另有隱情,我是刑警寧澤指蚁,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布菩佑,位于F島的核電站,受9級特大地震影響凝化,放射性物質(zhì)發(fā)生泄漏稍坯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一搓劫、第九天 我趴在偏房一處隱蔽的房頂上張望瞧哟。 院中可真熱鬧,春花似錦枪向、人聲如沸勤揩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雄可。三九已至,卻和暖如春缠犀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背聪舒。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工辨液, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人箱残。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓滔迈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親被辑。 傳聞我的和親對象是個殘疾皇子燎悍,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 最近由于工作需要,需要寫一個工具盼理,實現(xiàn)搜索功能谈山,數(shù)據(jù)來源為excel表格。目前主要實現(xiàn)方式為兩種宏怔,一種是基于jxl...
    依靜軒閱讀 6,563評論 1 9
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    Joyyx閱讀 8,326評論 0 16
  • 轉(zhuǎn)自鏈接 3.項目實踐 3.1基于.xls模板生成Excel文件 3.2生成九九乘法表 3.3生成一張工資單 3....
    腿毛褲閱讀 3,436評論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法奏路,類相關(guān)的語法畴椰,內(nèi)部類的語法,繼承相關(guān)的語法鸽粉,異常的語法斜脂,線程的語...
    子非魚_t_閱讀 31,599評論 18 399
  • 西風游蕩三千里,黃蘆好色啼烏起触机。無語問添衣帚戳,窗前月又西。 離人常入夢儡首,脈脈愁相送片任。又是異鄉(xiāng)秋,殘紅淚欲流椒舵。
    Harvest收獲閱讀 880評論 72 137