Java解析excel

来源:互联网 发布:access 软件开发步骤 编辑:程序博客网 时间:2024/05/21 12:41

/**
* 解析excel
* @param file
* @return
* @throws Exception
*
* @author : weihui
* @createTime : 2016年1月17日 下午3:48:50
*/
public static List<List<String>> parseXls(File file) throws Exception {
InputStream is = new FileInputStream(file);
//读取表格
Workbook wb = WorkbookFactory.create(is);
Sheet sheet = wb.getSheetAt(0);
List<List<String>> rows = new ArrayList<List<String>>();
for(Row r : sheet){
if(r.getRowNum() == 0) continue;//meta数据忽略

List<String> columns = new ArrayList<String>();
for(Cell c : r){
columns.add(getCellValue(c));
/*if(c.getColumnIndex() == 0){
dn.setIdCode(getCellValue(c));
}else if(c.getColumnIndex() == 1){
dn.setCaseName(getCellValue(c));
}*/
}
rows.add(columns);
}
return rows;
}


/**
* 得到每个单元格的值
* @param c
* @return
*/
private static String getCellValue(Cell c) {
String value = "";
switch (c.getCellType()) {
case Cell.CELL_TYPE_STRING:
value = c.getRichStringCellValue().getString();
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(c)) {
value = "" + c.getDateCellValue();
} else {
value = "" + (int) c.getNumericCellValue();
}
break;
case Cell.CELL_TYPE_BOOLEAN:
value = "" + c.getBooleanCellValue();
break;
case Cell.CELL_TYPE_FORMULA:
value = "" + c.getCellFormula();
break;
}
return value;
}
0 0
原创粉丝点击