读取excel数据的java类

2008-07-22 11:43:02.0     浏览:1667     来源:中国IT实验室
关键词:  excel     java     CE  

case HSSFCell.CELL_TYPE_BLANK:
strCell = "";
break;
default:
strCell = "";
break;
}
if (strCell.equals("") || strCell == null) {
return "";
}
if (cell == null) {
return "";
}
return strCell;
}

/**
* 获取单元格数据内容为日期类型的数据
* @param cell Excel单元格
* @return String 单元格数据内容
*/
private String getDateCellValue(HSSFCell cell) {
String result = "";
try {
int cellType = cell.getCellType();
if (cellType == HSSFCell.CELL_TYPE_NUMERIC) {
Date date = cell.getDateCellValue();
result = (date.getYear() + 1900) + "-" + (date.getMonth() + 1)
+ "-" + date.getDate();
} else if (cellType == HSSFCell.CELL_TYPE_STRING) {
String date = getStringCellValue(cell);
result = date.replaceAll("[年月]", "-").replace("日", "").trim();
} else if (cellType == HSSFCell.CELL_TYPE_BLANK) {
result = "";
}
} catch (Exception e) {
system.out.println("日期格式不正确!");
e.printStackTrace();
}
return result;
}

public static void main(String[] args) {
try {
//对读取Excel表格标题测试
InputStream is = new FileInputStream("C:\\Excel表格测试.xls");
ExcelReader excelReader = new ExcelReader();
String[] title = excelReader.readExcelTitle(is);
system.out.println("获得Excel表格的标题:");
for (String s : title) {
system.out.print(s + " ");
}

//对读取Excel表格内容测试
InputStream is2 = new FileInputStream("C:\\Excel表格测试.xls");
Map<Integer,String> map = excelReader.readExcelContent(is2);
system.out.println("获得Excel表格的内容:");
for (int i=1; i<=map.size(); i++) {
system.out.println(map.get(i));
}
} catch (FileNotFoundException e) {
system.out.println("未找到指定路径的文件!");
e.printStackTrace();
}
}
}通过该类提供的方法就能读取出Excel表格中的数据,数据读取出来了,其他的,对这些数据进行怎样的操作,要靠你另外写程序去实现,因为该类只提供读取Excel表格数据的功能。

说明:在该类中有一个getStringCellValue(HSSFCell cell)方法和一个getDateCellValue(HSSFCell cell)方法,前一个方法用于读取那些为字符串类型的数据,如果你的Excel表格中填写的是日期类型的数据,则你应该在readExcelContent(InputStream is)方法里调用getDateCellValue(HSSFCell cell)方法,因为若调用getStringCellValue(HSSFCell cell)方法读取日期类型的数据将得到的是一个浮点数,这很可能不符合实际要求。

[上一页]   [第1页]   [第2页]   [第3页]   [第4页]   [第5页]