public void importFile() throws Exception {
//获取临时文件路径
String path=TemplateUtil.getTempPath();
//String path="d:/upload/";
//文件写入到临时路径(本地磁盘)
File filePath=new File(path,fileNameFileName);
FileUtils.copyFile(fileName, filePath);
getHSSfSheet(filePath);
}
//读取excel
public void getHSSfSheet(File filePath){
try {
//创建excel,读取文件
HSSFWorkbook workbook = new HSSFWorkbook(FileUtils.openInputStream(filePath));
//读取默认的第一个工作表sheet
HSSFSheet sheet = workbook.getSheetAt(0);
//获取sheet中的最后一行
int lastRowNum=sheet.getLastRowNum();
List<Integral> cellList=new ArrayList<Integral>();
Integral integral=null;
//读取excel(第一行为标题行,默认不取第一行)
for(int i=1;i<=lastRowNum;i++){
integral=new Integral();
integral.setIntegralId(IdService.createUniqueId("sys_integral"));
integral.setUserUid(HSSFUtil.HSSFToNumeric(sheet,i,0));
integral.setIntegral(Integer.parseInt(HSSFUtil.HSSFToNumeric(sheet,i,1)));
integral.setActivityName(HSSFUtil.HSSFToNumeric(sheet,i,2));
integral.setCreateTime(new Date());
cellList.add(integral);
}
//将读取的excel写入到数据库
IntegralService.insertIntegral(cellList);
//文件写完之后,删除临时文件
filePath.delete();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//判断读取excel单元格内容的格式
public static String HSSFToNumeric(HSSFSheet sheet, int i, int colIndex) {
Cell cell = sheet.getRow(i).getCell(colIndex);
String val = null;
if (cell != null) {
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
val = cell.getStringCellValue();
break;
case Cell.CELL_TYPE_BOOLEAN:
Boolean bol = cell.getBooleanCellValue();
val = bol.toString();
break;
case Cell.CELL_TYPE_NUMERIC:
DecimalFormat df = new DecimalFormat("0");
val = df.format(cell.getNumericCellValue()); //数值类型的
break;
default:
break;
}
}
return val;
}