<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-FINAL</version>
</dependency>
/**
*
*/
package com.lifang.imsoa.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
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;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import com.lifang.imsoa.entity.miles.HxUser;
/**
* @author zhaopeng
* @time 2016年7月22日
*/
public class ExcelUtils {
private static String fileUrl = "C:/Users/admin/Desktop/hx.xls";
/**
* @author zhaopeng
* @time 2016年7月22日
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
List<HxUser> readXls = readXls(1, 20);
for (HxUser hxUser : readXls) {
System.out.println(hxUser);
}
}
public static int getTotal() throws IOException{
InputStream is = new FileInputStream(fileUrl);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
int rowNum = hssfWorkbook.getSheetAt(0).getLastRowNum();
return rowNum;
}
public static List<HxUser>
readXls(int pageNum,int rows) throws IOException {
int start = (pageNum-1)*rows + 1;
int end = pageNum * rows;
InputStream is = new FileInputStream(fileUrl);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
HxUser hxUser = null;
List<HxUser> list = new ArrayList<HxUser>();
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
// for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
for (int rowNum = start; rowNum <= end; rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;
}
hxUser = new HxUser();
// 循环列Cell
// for (int cellNum = 0; cellNum <=4; cellNum++) {
HSSFCell xh = hssfRow.getCell(0);
if (xh == null) {
continue;
}
hxUser.setId(Integer.parseInt(getValue(xh)));
HSSFCell xm = hssfRow.getCell(2);
if (xm == null) {
continue;
}
hxUser.setUserId(Integer.parseInt(getValue(xm)));
HSSFCell yxsmc = hssfRow.getCell(3);
if (yxsmc == null) {
continue;
}
hxUser.setSystem(Byte.valueOf(getValue(yxsmc)));
list.add(hxUser);
}
}
return list;
}
@SuppressWarnings("static-access")
private static String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
// 返回布尔类型的值
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
// 返回数值类型的值
return String.valueOf(hssfCell.getNumericCellValue());
} else {
// 返回字符串类型的值
return String.valueOf(hssfCell.getStringCellValue());
}
}
}