标签:
public static List<List<String>> readExcelToList(String path, String sheetName, int rowNum, int colNum) {
List<List<String>> resultList = new ArrayList<List<String>>();
InputStream is = null;
try {
if (!new File(path).exists()) {
return null;
}
is = new FileInputStream(path);
Workbook wb = new HSSFWorkbook(is);
Sheet sheet = wb.getSheet(sheetName);
if (sheet != null) {
if (rowNum <= 0) {
rowNum = sheet.getLastRowNum() + 1;
}
for (int j = 0; j < rowNum; j++) {
List<String> rowList = new ArrayList<String>();
Row row = sheet.getRow(j);
if (row == null) {
row = sheet.createRow(j);
}
if (colNum <= 0) {
colNum = row.getLastCellNum();
}
for (short k = 0; k < colNum; k = (short) (k + 1)) {
Cell aCell = row.getCell(k);
String cellVal = "";
if (aCell == null) {
aCell = row.createCell(k);
}
cellVal = convertCell(aCell);
rowList.add(cellVal);
}
resultList.add(rowList);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (is != null)
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return resultList;
}
private static String convertCell(Cell cell)
{
NumberFormat formater = NumberFormat.getInstance();
formater.setGroupingUsed(false);
String cellValue = "";
if (cell == null) {
return cellValue;
}
switch (cell.getCellType()) {
case 0:
cellValue = formater.format(cell.getNumericCellValue());
break;
case 1:
cellValue = cell.getStringCellValue();
break;
case 3:
cellValue = cell.getStringCellValue();
break;
case 4:
cellValue = Boolean.valueOf(cell.getBooleanCellValue()).toString();
break;
case 5:
cellValue = String.valueOf(cell.getErrorCellValue());
break;
case 2:
default:
cellValue = "";
}
return cellValue.trim();
}
标签:
原文地址:http://www.cnblogs.com/zhangxuesong/p/5533380.html