真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

POI原生導(dǎo)入讀取EXCEL方法

POI原生導(dǎo)入讀取EXCEL方法

全椒網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),全椒網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為全椒1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的全椒做網(wǎng)站的公司定做!

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

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

public class ReadExcelUtil {

private POIFSFileSystem fs;

private HSSFWorkbook wb;

private HSSFSheet sheet;

private HSSFRow row;

/**

* 讀取Excel表格表頭的內(nèi)容

* @param is

* @return String 表頭內(nèi)容的數(shù)組

*/

public String[] readExcelTitle(InputStream is) {

try {

fs = new POIFSFileSystem(is);

wb = new HSSFWorkbook(fs);

} catch (IOException e) {

e.printStackTrace();

}

sheet = wb.getSheetAt(0);

//得到首行的row

row = sheet.getRow(0);

// 標(biāo)題總列數(shù)

int colNum = row.getPhysicalNumberOfCells();

String[] title = new String[colNum];

for (int i = 0; i < colNum; i++) {

title[i] = getCellFormatValue(row.getCell((short) i));

}

return title;

}

/**

* 讀取Excel數(shù)據(jù)內(nèi)容

* @param is

* @return Map 包含單元格數(shù)據(jù)內(nèi)容的Map對象

*/

public Map readExcelContent(InputStream is) {

Map content = new HashMap();

String str = "";

String strCell = "";

try {

fs = new POIFSFileSystem(is);

wb = new HSSFWorkbook(fs);

} catch (IOException e) {

e.printStackTrace();

}

sheet = wb.getSheetAt(0);

// 得到總行數(shù)

int rowNum = sheet.getLastRowNum();

//由于第0行和第一行已經(jīng)合并了 在這里索引從2開始

row = sheet.getRow(2);

int colNum = row.getPhysicalNumberOfCells();

// 正文內(nèi)容應(yīng)該從第二行開始,第一行為表頭的標(biāo)題

for (int i = 2; i <= rowNum; i++) {

row = sheet.getRow(i);

int j = 0;

while (j < colNum) {

strCell = getStringCellValue(row.getCell(j));

str += strCell + "-";

// str +=row.getCell((short) j) + "^";

j++;

}

content.put(i, str);

str = "";

}

return content;

}

/**

* 獲取單元格數(shù)據(jù)內(nèi)容為字符串類型的數(shù)據(jù)

*

* @param cell Excel單元格

* @return String 單元格數(shù)據(jù)內(nèi)容

*/

private String getStringCellValue(HSSFCell cell) {

String strCell = "";

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_STRING:

strCell = cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_NUMERIC:

strCell = String.valueOf((int)cell.getNumericCellValue());

break;

case HSSFCell.CELL_TYPE_BOOLEAN:

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

break;

case HSSFCell.CELL_TYPE_BLANK:

strCell = "";

break;

default:

strCell = "";

break;

}

if (strCell.equals("") || strCell == null) {

return "";

}

if (cell == null) {

return "";

}

return strCell;

}

/**

* 獲取單元格數(shù)據(jù)內(nèi)容為日期類型的數(shù)據(jù)

*

* @param cell

* Excel單元格

* @return String 單元格數(shù)據(jù)內(nèi)容

*/

private String getDateCellValue(HSSFCell cell) {

String result = "";

try {

int cellType = cell.getCellType();

if (cellType == HSSFCell.CELL_TYPE_NUMERIC) {

Date date = cell.getDateCellValue();

result = (date.getYear() + 1900) + "-" + (date.getMonth() + 1)

+ "-" + date.getDate();

} else if (cellType == HSSFCell.CELL_TYPE_STRING) {

String date = getStringCellValue(cell);

result = date.replaceAll("[年月]", "-").replace("日", "").trim();

} else if (cellType == HSSFCell.CELL_TYPE_BLANK) {

result = "";

}

} catch (Exception e) {

System.out.println("日期格式不正確!");

e.printStackTrace();

}

return result;

}

/**

* 根據(jù)HSSFCell類型設(shè)置數(shù)據(jù)

* @param cell

* @return

*/

private String getCellFormatValue(HSSFCell cell) {

String cellvalue = "";

if (cell != null) {

// 判斷當(dāng)前Cell的Type

switch (cell.getCellType()) {

// 如果當(dāng)前Cell的Type為NUMERIC

case HSSFCell.CELL_TYPE_NUMERIC:

case HSSFCell.CELL_TYPE_FORMULA: {

// 判斷當(dāng)前的cell是否為Date

if (HSSFDateUtil.isCellDateFormatted(cell)) {

Date date = cell.getDateCellValue();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

cellvalue = sdf.format(date);

}無錫婦科醫(yī)院××× http://wapyyk.39.net/wx/zonghe/fc96e.html

// 如果是純數(shù)字

else {

// 取得當(dāng)前Cell的數(shù)值

cellvalue = String.valueOf(cell.getNumericCellValue());

}

break;

}

// 如果當(dāng)前Cell的Type為STRIN

case HSSFCell.CELL_TYPE_STRING:

// 取得當(dāng)前的Cell字符串

cellvalue = cell.getRichStringCellValue().getString();

break;

// 默認的Cell值

default:

cellvalue = " ";

}

} else {

cellvalue = "";

}

return cellvalue;

}

public static void main(String[] args) {

try {

// 對讀取Excel表格標(biāo)題測試

InputStream is = new FileInputStream("d:\\test2.xls");

ReadExcelUtil excelReader = new ReadExcelUtil();

String[] title = excelReader.readExcelTitle(is);

System.out.println("獲得Excel表格的標(biāo)題:");

for (String s : title) {

System.out.print(s + " ");

}

System.out.println();

// 對讀取Excel表格內(nèi)容測試

InputStream is2 = new FileInputStream("d:\\test2.xls");

Map map = excelReader.readExcelContent(is2);

System.out.println("獲得Excel表格的內(nèi)容:");

//這里由于xls合并了單元格需要對索引特殊處理

for (int i = 2; i <= map.size()+1; i++) {

System.out.println(map.get(i));

}

} catch (FileNotFoundException e) {

System.out.println("未找到指定路徑的文件!");

e.printStackTrace();

}

}

}


分享標(biāo)題:POI原生導(dǎo)入讀取EXCEL方法
分享路徑:http://weahome.cn/article/pehdsd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部