java讀取Excel文件指定內容

——邊學習邊記錄~

最近需要用到從外部文件導入測試數(shù)據(jù)钢坦,因而上網查了一些讀取excel文件這方面的代碼,然后修改后適用于現(xiàn)有場景中(得到excel中指定單元格的內容)啥酱。

導入的jar:poi-3.16.jar?

下載?poi-bin-3.16-20170419.tar.gz? 官網下載地址:http://poi.apache.org/download.html

//以下是因為長數(shù)字取出來變成了科學計數(shù)法形式爹凹,所以使用DecimalFormat進行格式化為數(shù)字

DecimalFormat df = new DecimalFormat("0");

cellValue = df.format(cell.getNumericCellValue());?

代碼如下:

package com.test.tools;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.text.DecimalFormat;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**

* 讀取excel文件內容

* @author study_monkey

*

*/

public class ReadExcelFileInfo {

private static final ReadExcelFileInfo instance = new ReadExcelFileInfo();

private ReadExcelFileInfo(){

//do something

}

//這里提供了一個供外部訪問本class的靜態(tài)方法,可以直接訪問

public static ReadExcelFileInfo getInstance(){

return instance;

}

public String readFile(int cellIndex,int rowIndex) {

String str = "";

InputStream fis = null;

try{

fis = new FileInputStream(new File("testdata.xls"));//File(path)

HSSFWorkbook workbook = new HSSFWorkbook(fis);

str = getValue(workbook,cellIndex,rowIndex);

}catch (IOException e) {

e.printStackTrace();

} finally {

if (fis != null) {

try {

fis.close();

} catch (IOException e) {

fis = null;

e.printStackTrace();

}

}

}

return str;

}

public String getValue(HSSFWorkbook workbook,int cellIndex,int rowIndex) {//從0開始镶殷,行和列

String cellValue = "";

HSSFSheet sheet =? workbook.getSheetAt(0);

HSSFRow row =? sheet.getRow(rowIndex);

HSSFCell cell = row.getCell((short) cellIndex);

DecimalFormat df = new DecimalFormat("0");

if (null != cell) {

// 以下是判斷數(shù)據(jù)的類型禾酱,調對應的方法

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_NUMERIC: // 數(shù)字

// cellValue = cell.getNumericCellValue() + "";

cellValue = df.format(cell.getNumericCellValue()); //長數(shù)字取出來變成了科學計數(shù)法形式,使用DecimalFormat格式化

break;

case HSSFCell.CELL_TYPE_STRING: // 字符串

cellValue = cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean

cellValue = cell.getBooleanCellValue() + "";

break;

case HSSFCell.CELL_TYPE_FORMULA: // 公式

cellValue = cell.getCellFormula() + "";

break;

case HSSFCell.CELL_TYPE_BLANK: // 空值

cellValue = "";

break;

case HSSFCell.CELL_TYPE_ERROR: // 故障

cellValue = "非法字符";

break;

default:

cellValue = "未知類型";

break;

}

}

return cellValue;

}

public static void main(String[] args) {

ReadExcelFileInfo r = new ReadExcelFileInfo();

String str1 = ReadExcelFileInfo.instance.readFile(1,1);//index從0開始绘趋,獲取第1行颤陶,第1列的內容

String str2 = ReadExcelFileInfo.instance.readFile(1,2);

System.out.println(str1);

System.out.println(str2);

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市陷遮,隨后出現(xiàn)的幾起案子滓走,更是在濱河造成了極大的恐慌,老刑警劉巖帽馋,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搅方,死亡現(xiàn)場離奇詭異比吭,居然都是意外死亡,警方通過查閱死者的電腦和手機姨涡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門衩藤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涛漂,你說我怎么就攤上這事慷彤。” “怎么了怖喻?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵底哗,是天一觀的道長。 經常有香客問我锚沸,道長跋选,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任哗蜈,我火速辦了婚禮前标,結果婚禮上,老公的妹妹穿的比我還像新娘距潘。我一直安慰自己炼列,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布音比。 她就那樣靜靜地躺著俭尖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洞翩。 梳的紋絲不亂的頭發(fā)上稽犁,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音骚亿,去河邊找鬼已亥。 笑死,一個胖子當著我的面吹牛来屠,可吹牛的內容都是我干的虑椎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼俱笛,長吁一口氣:“原來是場噩夢啊……” “哼捆姜!你這毒婦竟也來了?” 一聲冷哼從身側響起嫂粟,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤娇未,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后星虹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體零抬,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡镊讼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了平夜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝶棋。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖忽妒,靈堂內的尸體忽然破棺而出玩裙,到底是詐尸還是另有隱情,我是刑警寧澤段直,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布吃溅,位于F島的核電站,受9級特大地震影響鸯檬,放射性物質發(fā)生泄漏决侈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一喧务、第九天 我趴在偏房一處隱蔽的房頂上張望赖歌。 院中可真熱鬧,春花似錦功茴、人聲如沸庐冯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽展父。三九已至,卻和暖如春赁酝,著一層夾襖步出監(jiān)牢的瞬間犯祠,已是汗流浹背旭等。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工酌呆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搔耕。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓隙袁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弃榨。 傳聞我的和親對象是個殘疾皇子菩收,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容

  • package wrapFunc; import java.io.File; import java.io.Fil...
    yoyoswj閱讀 915評論 0 0
  • POI操作Excel Excel簡介一個excel文件就是一個工作簿workbook,一個工作簿中可以創(chuàng)建多張工作...
    灰氣球閱讀 4,718評論 2 48
  • excel文件導出有兩種鲸睛,一種是以io流直接生成娜饵,一種是在本地生成一個excel文件(fileoutputStre...
    Easy的幸福閱讀 1,007評論 2 2
  • 實習第二周 No.2 項目功能里要求能夠將展示的報表導出excel,因為報表的數(shù)據(jù)都是動態(tài)從list傳進來的官辈,所...
    蘇筱筑閱讀 2,357評論 2 7
  • sayings: 最近互聯(lián)網大會很火箱舞,但我發(fā)現(xiàn)遍坟,中國在談論互聯(lián)網技術時還是習慣性地將其與火藥、指南針晴股、蒸汽機等發(fā)明...
    田靠譜閱讀 910評論 0 2