Apache POI (四) 遍歷Excel 和文本提取
一、
Excel遍歷
直接上代碼:
package com.poi.hello;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
/**
* 作者:[<span style="color: rgb(68, 68, 68); font-size: 14px; line-height: 24px;"><strong>Only丶愛你</strong></span>]
* 功能:[ 遍歷工作簿的行和列 輸出值 ]
*/
public class Demo6 {
public static void main(String[] args) throws Exception {
InputStream inputStream = new FileInputStream("D:\\Child.xls");
//POIFSFileSystem fs = new POIFSFileSystem(inputStream);
HSSFWorkbook wb = new HSSFWorkbook(inputStream);
//獲取第一個Sheet頁
HSSFSheet sheet = wb.getSheetAt(0);
//遍歷行row
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
for (int cellNum = 0; cellNum < row.getLastCellNum(); cellNum++) {
Cell cell = row.getCell(cellNum);
System.out.print(getValue(cell)+"\t");
}
System.out.println();
}
}
<span style="white-space:pre"> </span>//調用這個方法 判斷 當前的單元格的值的類型
private static String getValue(Cell cell){
if(cell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
return String.valueOf(cell.getBooleanCellValue());
}else if(cell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
return String.valueOf(cell.getNumericCellValue());
}else{
return String.valueOf(cell.getStringCellValue());
}
}
}
二、
Excel文本提取
public class Demo7 {
public static void main(String[] args) throws Exception {
InputStream inputStream = new FileInputStream("D:\\Child.xls");
//打開工作簿
HSSFWorkbook wb = new HSSFWorkbook(inputStream);
//創建Excel提取器(這個只是POIAPI提供的一個文本提取器)
ExcelExtractor extractor = new ExcelExtractor(wb);
//是否輸出Sheet頁的名稱
extractor.setIncludeSheetNames(false);
//輸出提取文本
System.out.println(extractor.getText());
}
}
通過以上兩種方法 都可以 進行將文檔內容輸出!!!