以下內(nèi)容為測試代碼:
packagecom.lzz.hssf;
importjava.io.FileInputStream;
importjava.io.InputStream;
importjava.util.Iterator;
importorg.apache.poi.hssf.extractor.ExcelExtractor;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFDateUtil;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
/**?
?*?讀取上篇中的xls文件的內(nèi)容,并打印出來?
?*/
public?classPoiReadTable?{
????/**讀取一個excel文件的內(nèi)容 */
????public?static?void?main(String[]?args)?throwsException?{
????????//extractor();?
readTable();
}
????//對單元格遍歷的形式來獲取信息?
????public?static?void?readTable()?throwsException{
????????InputStream?ips=new?FileInputStream("d://test2-1.xls");
????????HSSFWorkbook?wb=newHSSFWorkbook(ips);
????????HSSFSheet?sheet=wb.getSheetAt(0);
????????for(Iterator?ite=sheet.rowIterator();ite.hasNext();){
HSSFRow?row=(HSSFRow)ite.next();
System.out.println();
????????????for(Iterator?itet=row.cellIterator();itet.hasNext();){
HSSFCell?cell=(HSSFCell)itet.next();
????????????????switch(cell.getCellType()){
????????????????caseHSSFCell.CELL_TYPE_BOOLEAN:
????????????????????System.out.print(cell.getBooleanCellValue()+"?");
????????????????????break;
????????????????caseHSSFCell.CELL_TYPE_NUMERIC:
????????????????????//檢查是否是日期格式???
????????????????????if(HSSFDateUtil.isCellDateFormatted(cell)){
????????????????????????//讀取日期格式???
????????????????????????System.out.print(cell.getDateCellValue()+"?");
????????????????????}else{
????????????????????????//讀取數(shù)字???
????????????????????????System.out.print(cell.getNumericCellValue()+"?");
}
????????????????????break;
????????????????caseHSSFCell.CELL_TYPE_FORMULA:
????????????????????//讀取公式???
????????????????????System.out.print(cell.getCellFormula()+"?");
????????????????????break;
????????????????caseHSSFCell.CELL_TYPE_STRING:
????????????????????//讀取String???
????????????????????System.out.print(cell.getRichStringCellValue().toString()+"?");
????????????????????break;
}
}
}
}
????//抽取excel中的數(shù)據(jù)?
????public?static?void?extractor()?throwsException{
????????InputStream?ips=new?FileInputStream("d://test2-1.xls");
????????HSSFWorkbook?wb=newHSSFWorkbook(ips);
????????ExcelExtractor?ex=newExcelExtractor(wb);
????????ex.setFormulasNotResults(true);
????????ex.setIncludeSheetNames(false);
String?text=ex.getText();
System.out.println(text);
}
}