日期:2014-05-17 浏览次数:20886 次
/**
* 读取Excel2007文档兼容Excel2003
* @return
* @throws Exception
*/
public String readExcel2007() throws Exception{
Workbook wb = WorkbookFactory.create(new File("C:/Users/KingPoint/Desktop/user.xlsx"));
Sheet sheet = wb.getSheetAt(0);//获取第一个工作单
int rowNum = sheet.getLastRowNum();//获取行的总数
Row row = sheet.getRow(1);
int colNum = row.getLastCellNum();//获取列的总数
String str="";
/*遍历所有行,注意下面是从工作表单的第二行开始遍历*/
for(int i=1,len=rowNum;i<=len;i++){
row = sheet.getRow(i);
/*遍历所有列*/
for(int j=0,len2=colNum;j<len2;j++){
/*获取当前的单元格值*/
Cell cell = row.getCell(j);
/*判断当前值是否是数值类型*/
if(cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){
/*设置该单元格已字符串格式输出*/
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
/*判断是否为最后一列,是最后一列加上#ER#用来区分每一行*/
if(j == len2 - 1){
str+=cell.getStringCellValue()+"#ER#";
}else{
str+=cell.getStringCellValue()+"~";
}
}else{
/*判断是否为最后一列,是最后一列加上#ER#用来区分每一行*/
if(j == len2 -1){
str += row.getCell(j) + "#ER#";
}else{
str += row.getCell(j) + "~";
}
}
}
}
if(!str.equals("")){
str = str.substring(0,str.length() - 4);
}
return str;
}