<el-row>
<el-form-item label="批量导入:">
<el-upload
action=""
:auto-upload="false"
:file-list="fileList"
:on-change="handleChange"
accept=".xls,.xlsx">
<el-button slot="trigger" type="primary" @click="delFile">选取文件</el-button>
<el-button type="success" @click="submitUpload" :loading="uploadLoading">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件</div>
</el-upload>
</el-form-item>
</el-row>
delFile() {
this.fileList = [];
},
handleChange(file, fileList) {
this.fileList = fileList;
},
submitUpload() {
if (this.fileList.length == 0) {
return this.$message.error("请选择文件");
}
this.uploadLoading = true;
let formData = new FormData();
formData.append("fileList", this.fileList[0].raw);
console.log(formData);
this.$axios.post('/wage/importWage', formData, {
"Content-Type": "multipart/form-data;charset=utf-8"
})
.then(res => {
this.uploadLoading = false;
console.log(res);
this.$message.success("导入成功");
this.fileList = [];
this.getWageList();
})
.catch(error => {
this.$message.error(error);
})
},
handleSelect() {
},
public Integer importWage(Sheet sheet) {
Row row = null;
Cell cell = null;
int coloumNum=sheet.getRow(0).getPhysicalNumberOfCells();
int rowNum=sheet.getPhysicalNumberOfRows();
for (int i = 1; i < rowNum; i++) {
Saleman saleman = new Saleman();
row = sheet.getRow(i);
for(int j=1; j<coloumNum; j++){
DecimalFormat df = new DecimalFormat("0.00");
cell = row.getCell(j);
String str = "";
if(cell==null||cell.equals(null)||cell.getCellType()==CellType.BLANK){
str="null";
}else {
switch (cell.getCellType()) {
case FORMULA:
str = "" + cell.getNumericCellValue();
break;
case NUMERIC:
DecimalFormat df1 = new DecimalFormat("#.##");
str = "" + df1.format(cell.getNumericCellValue());
break;
case STRING:
str = cell.getStringCellValue();
break;
default:
break;
}
}
if(j==1){
saleman.setDeptName(str);
}
else if(j==2){
saleman.setComcode(str);
}
else if(j==3){
saleman.setType(str);
}
else if(j==4){
saleman.setUsername(str);
}
else if(j==5){
saleman.setNumberid(str);
}
else if(j==6){
saleman.setContype(str);
}
else if(j==7){
saleman.setBaseWage(str);
}
else if(j==8){
saleman.setAchieveWage(str);
}
else if(j==9){
saleman.setTotalWage(str);
}
}
Saleman s = salemanMapper.manByUsernam(saleman.getUsername());
if(s==null){
salemanMapper.add(saleman);
}
else{
salemanMapper.update(saleman);
}
}
return 1;
}
@RequestMapping("/importWage")
@ResponseBody
public String importWage(@RequestParam("fileList") MultipartFile multipartFile, HttpServletRequest request){
if(multipartFile.isEmpty()){
return "上传错误";
}
String originalFilename = multipartFile.getOriginalFilename();
String dirPath = request.getSession().getServletContext().getRealPath("/upload/");
File filePath = new File(dirPath);
if (!filePath.exists()) {
filePath.mkdirs();
}
String suffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(d) + originalFilename.substring(0,originalFilename.lastIndexOf(".")));
String newFileName = sdf.format(d) + originalFilename.substring(0,originalFilename.lastIndexOf(".")) + "." + suffix;
File targetFile = new File(dirPath + newFileName);
try {
multipartFile.transferTo(targetFile);
InputStream in = new FileInputStream(targetFile);
Workbook workbook = WorkbookFactory.create(in);
Sheet sheet = workbook.getSheetAt(0);
int i = salemanService.importWage(sheet);
System.out.println("--------------------------"+i);
} catch (IOException e) {
e.printStackTrace();
return "上传错误";
}
System.out.println(dirPath + newFileName);
return "上传成功"+"文件地址="+dirPath + newFileName;
}