| ad5081d3  孙向锦
 
初始化项目 | 1
2
3
4
5
6
7
8
9
10
11
12 |   package com.fh.util;
  
  import java.io.File;
  import java.io.FileInputStream;
  import java.util.ArrayList;
  import java.util.List;
  
  import org.apache.poi.hssf.usermodel.HSSFCell;
  import org.apache.poi.hssf.usermodel.HSSFRow;
  import org.apache.poi.hssf.usermodel.HSSFSheet;
  import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 13
14
15 |   /**
   * @version
   */
 | 
| ad5081d3  孙向锦
 
初始化项目 | 16
17
18 |   public class ObjectExcelRead {
  
  	/**
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 19
20
21
22
23
24
25
26
27
28 |   	 * @param filepath
  	 *            //文件路径
  	 * @param filename
  	 *            //文件名
  	 * @param startrow
  	 *            //开始行号
  	 * @param startcol
  	 *            //开始列号
  	 * @param sheetnum
  	 *            //sheet
 | 
| ad5081d3  孙向锦
 
初始化项目 | 29
30 |   	 * @return list
  	 */
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 31
32 |   	public static List<Object> readExcel(String filepath, String filename,
  			int startrow, int startcol, int sheetnum) {
 | 
| ad5081d3  孙向锦
 
初始化项目 | 33
34
35
36
37
38 |   		List<Object> varList = new ArrayList<Object>();
  
  		try {
  			File target = new File(filepath, filename);
  			FileInputStream fi = new FileInputStream(target);
  			HSSFWorkbook wb = new HSSFWorkbook(fi);
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 39
40
41 |   			HSSFSheet sheet = wb.getSheetAt(sheetnum); // sheet 从0开始
  			int rowNum = sheet.getLastRowNum() + 1; // 取得最后一行的行号
  			for (int i = startrow; i < rowNum; i++) { // 行循环开始
 | 
| ad5081d3  孙向锦
 
初始化项目 | 42 |   				PageData varpd = new PageData();
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 43
44
45 |   				HSSFRow row = sheet.getRow(i); // 行
  				int cellNum = row.getLastCellNum(); // 每行的最后一个单元格位置
  				for (int j = startcol; j < cellNum; j++) { // 列循环开始
 | 
| ad5081d3  孙向锦
 
初始化项目 | 46
47
48 |   					HSSFCell cell = row.getCell(Short.parseShort(j + ""));
  					String cellValue = null;
  					if (null != cell) {
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 49
50
51
52
53
54 |   						int type = cell.getCellType();
  						if (type == 0) {
  							cellValue = String.valueOf((long) cell
  									.getNumericCellValue());
  						}
  						if (type == 1) {
 | 
| ad5081d3  孙向锦
 
初始化项目 | 55 |   							cellValue = cell.getStringCellValue();
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 56
57 |   						}
  						if (type == 2) {
 | 
| ad5081d3  孙向锦
 
初始化项目 | 58 |   							cellValue = cell.getNumericCellValue() + "";
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 59
60 |   						}
  						if (type == 3) {
 | 
| ad5081d3  孙向锦
 
初始化项目 | 61 |   							cellValue = "";
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 62
63
64
65
66
67
68
69 |   						}
  						if (type == 4) {
  							cellValue = String.valueOf(cell
  									.getBooleanCellValue());
  						}
  						if (type == 5) {
  							cellValue = String
  									.valueOf(cell.getErrorCellValue());
 | 
| ad5081d3  孙向锦
 
初始化项目 | 70
71
72
73 |   						}
  					} else {
  						cellValue = "";
  					}
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 74
75 |   					varpd.put("var" + j, cellValue);
  					System.out.println(cellValue);
 | 
| ad5081d3  孙向锦
 
初始化项目 | 76
77
78
79
80
81
82 |   				}
  				varList.add(varpd);
  			}
  
  		} catch (Exception e) {
  			System.out.println(e);
  		}
 | 
| 053a45fd  孙向锦
 
解析excel bug,去掉空行 | 83 |   
 | 
| ad5081d3  孙向锦
 
初始化项目 | 84
85
86 |   		return varList;
  	}
  }
 |