packageutil;/*** 代码解释:此方法将传入一个URL,即为当前用户所上传的Excel的目标路径,然后返回一个泛型为StudentInfoEntity的ArrayList*/
importjava.io.File;importjava.io.IOException;importjava.util.ArrayList;importorg.apache.commons.io.FileUtils;importorg.apache.poi.hssf.usermodel.HSSFDateUtil;importorg.apache.poi.openxml4j.exceptions.InvalidFormatException;importorg.apache.poi.ss.usermodel.Cell;importorg.apache.poi.ss.usermodel.DateUtil;importorg.apache.poi.ss.usermodel.Row;importorg.apache.poi.ss.usermodel.Sheet;importorg.apache.poi.ss.usermodel.Workbook;importorg.apache.poi.ss.usermodel.WorkbookFactory;importorg.apache.poi.xssf.usermodel.XSSFCell;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importdao.DistrictDao;importdao.impl.DistrictDaoImp;importentity.District;public classExcelToList {public ArrayList excelTo(String URL) throwsIOException{//创建list集合存放对象
ArrayList list = new ArrayList();
File file= newFile(URL);
Workbook workbook=null;try{
workbook=WorkbookFactory.create(file);
}catch(InvalidFormatException e) {//TODO Auto-generated catch block
e.printStackTrace();
}//代码解释:读取默认第一个工作表sheet
Sheet sheet = workbook.getSheetAt(0);//代码解释:获取sheet中最后一行行号
int lastRowNum =sheet.getLastRowNum();//System.out.println("lastRowNum========="+lastRowNum);//代码解释:循环所有行
ArrayList list2 = new ArrayList();for (int i = 1; i <= lastRowNum; i++) {//代码解释:获取当前行中的内容
Row row =sheet.getRow(i);short cell =row.getLastCellNum();//System.out.println("cellnumber======="+cell);
if(row !=null && cell!=0){for(int j=0;j
District district=newDistrict();
Cell name=row.getCell(j);
district.setName(getValue(name));
list.add(district);
}
}
}returnlist;
}//取单元格中的值
publicString getValue(Cell cell){
String result="";if(cell.getCellType() ==cell.CELL_TYPE_BOOLEAN){//返回布尔类型的值
result = cell.getBooleanCellValue() +"";
}else if(cell.getCellType() ==cell.CELL_TYPE_NUMERIC){//返回数值类型的值
if(HSSFDateUtil.isCellDateFormatted(cell)){
result=DateUtil.getJavaDate(cell.getNumericCellValue()).toString();
}else{
result= cell.getNumericCellValue()+"";
}returnString.valueOf(cell.getNumericCellValue());
}else if(cell.getCellType() ==cell.CELL_TYPE_FORMULA){
result=cell.getCellFormula();
}else if(cell.getCellType() ==cell.CELL_TYPE_STRING){
result=cell.getStringCellValue();
}else{//返回字符口串类型的值
result =cell.getStringCellValue();
}returnresult;
}public static void main(String[] args) throwsIOException {
ExcelToList excelToList=newExcelToList();
ArrayList list =excelToList.excelTo("D:\\work\\File\\district.xls");
DistrictDao dao=newDistrictDaoImp();for(District district : list) {
dao.addDistrict(district);
}
}
}