当前位置:文档之家› java中使用POI解析Excel文件

java中使用POI解析Excel文件

public class POIUtils2 {
public String readEXCEL(String file) throws IOException {
StringBuilder content = new StringBuilder();
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(file));// 创建对Excel工作簿文件的引用
for(int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++ ) {
if(workbook.getSheetAt(numSheets) != null) {
HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
content.append("sheetName:"+aSheet.getSheetName()+"\n");
for(Row row : aSheet) {//遍历行
for(Cell cell : row) {//遍历列
if(cell != null && this.convertCell(cell).length() > 0) {
content.append(this.convertCell(cell)).append("\t"); //获得一个单元格的值
}
}
content.append("\n");
}
}
}
return content.toString();
}

// 读取xlsx文件
public String readEXCEL2007(String file) throws IOException, InvalidFormatException {
StringBuilder content = new StringBuilder();
OPCPackage pkg = OPCPackage.open(new File(file));
XSSFWorkbook workbook = new XSSFWorkbook(pkg);
for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {
if (workbook.getSheetAt(numSheets) != null) {
XSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
content.append("sheetName:"+aSheet.getSheetName()+"\n");
for(Row row : aSheet) {//遍历行
for(Cell cell : row) {//遍历列
if(cell != null && this.convertCell(cell).length() > 0) {
content.append(this.convertCell(cell)).append("\t");//获得一个单元格的值
}
}
content.append("\n");
}
}
}
return content.toString();
}

private String convertCell(Cell cell) {
String cellValue = "";
NumberFormat formater = NumberFormat.getInstance();
formater.setGroupingUsed(false);
if(cell != null) {
switch(cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC:
cellValue = formater.format(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BLANK:
cellValue = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
cellValue = String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_ERROR:
cellValue = String.valueOf(cell.getErrorCellValue());
break;
case HSSFCell.CELL_TYPE_FORMULA:
cellValue = cell.getCellFormula();
break;
case HSSFCell.CELL_TYPE_STRING:
cellValue = cell.getStringCellValue();
break;
default:
}
}
return cellValue.trim();
}
}

相关主题
文本预览
相关文档 最新文档