需要导入POI架包
//文件上传
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM");
/**构建文件保存的目录**/
String logoPathDir = "/files"+ dateformat.format(new Date());
/**得到文件保存目录的真实路径**/
String logoRealPathDir = request.getSession().getServletContext().getRealPath(logoPathDir);
/**根据真实路径创建目录**/
File logoSaveFile = new File(logoRealPathDir);
if(!logoSaveFile.exists())
logoSaveFile.mkdirs();
/**页面控件的文件流**/
MultipartFile multipartFile = multipartRequest.getFile("file");
/**获取文件的后缀**/
String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));
String logImageName = multipartFile.getOriginalFilename();
/**拼成完整的文件保存路径加文件**/
String fileName = logoRealPathDir + File.separator + logImageName;
File file=new File(fileName);
try {
multipartFile.transferTo(file);
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String cardType=request.getParameter("cardName");
String cardMoney=request.getParameter("cardMoney");
String cardName=request.getParameter("cardNa");
//判断文件格式为TXT
if(suffix.equals(".txt")){
try {
BufferedReader br=new BufferedReader(new FileReader(fileName));
String s ="";
try {
while(StringUtils.isNotBlank(s=br.readLine())){
String[] card=s.split("[\\p{Space}]+");
if(card!=null){
GameCard gc=new GameCard();
gc.setCardNo(card[0]);
gc.setCardPass(card[1]);
gc.setCardType(cardType);
gc.setCardName(cardName);
gc.setCardMoney(cardMoney);
gc.setCardState("1");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);
gc.setCreateTime(ts);
gameCardService.add(gc);
}
}
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
//文件格式为Excel
try {
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileName));
HSSFSheet sheet=workbook.getSheet("sheet1");
int rows=sheet.getPhysicalNumberOfRows();
for(int i=0;i
HSSFRow row=sheet.getRow(i);
if(row!=null){
int cells=row.getPhysicalNumberOfCells();
String value="";
for(int j=0;j HSSFCell cell=row.getCell(j);
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
break;
case HSSFCell.CELL_TYPE_NUMERIC:
value += (int)cell.getNumericCellValue() + ",";
break;
case HSSFCell.CELL_TYPE_STRING:
value += cell.getStringCellValue() + ",";
break;
default:
value += "0";
break;
}
}
}
String val[]=value.split(",");
GameCard gc=new GameCard();
gc.setCardNo(val[0]);
gc.setCardPass(val[1]);
gc.setCardType(cardType);
gc.setCardName(cardName);
gc.setCardMoney(cardMoney);
gc.setCardState("1");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);
gc.setCreateTime(ts);
gameCardService.add(gc);
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}