- StringBuilder sb = new StringBuilder();
- Workbook wb = null;
- if (StringUtils.equalsIgnoreCase(".xlsx",ext)){//2007 2010 XSSFWorkbook
- wb = new XSSFWorkbook(new FileInputStream(file));
- }else{//2003 HSSFWorkbook
- wb = new HSSFWorkbook(new FileInputStream(file));
- }
- // 获得该工作区的第一个sheet
- int iSheetNum = wb.getNumberOfSheets(); // 获取SHEET数量(即使是空的SHEET也包括在内)
- for (int i = 0; i < iSheetNum; i++) {
- // System.out.println(wb.getSheetName(i));
- sb.append(wb.getSheetName(i));
- Sheet sheet = wb.getSheetAt(i);
- // 总共有多少行,从0开始
- int totalRows = sheet.getLastRowNum();
- for (int ri = 0; ri <= totalRows; ri++) {
- // 取得该行
- Row row = sheet.getRow(ri);
- if (row != null) {
- int totalCells = row.getLastCellNum();
- for (int ci = 0; ci <= totalCells; ci++) {
- Cell cell = row.getCell(ci);
- if (cell != null) {
- if (cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {
- sb.append(cell.getNumericCellValue());
- } else if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
- sb.append(cell.getStringCellValue());
- } else if (cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA) {
- sb.append(cell.getCellFormula());
- } else if (cell.getCellType() == XSSFCell.CELL_TYPE_BLANK) {
- sb.append("");
- } else if (cell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {
- sb.append(cell.getBooleanCellValue());
- } else if (cell.getCellType() == XSSFCell.CELL_TYPE_ERROR) {
- sb.append("");
- }
- }
- }
- sb.append("\\n");
- }
- }
- }
- return sb.toString();
- //该片段来自于http://www.codesnippet.cn/detail/180320149085.html
来源: http://www.codesnippet.cn/detail/180320149085.html