jsp
<form id="uploadForm" enctype="multipart/form-data" method="POST">
<div class="col-sm-4">
<input id="fileN" type="file" name="file">
</div>
<div class="col-sm-4 col-sm-offset-4">
<button type="button" class="btn btn-success btn-sm" onclick="upDatumCus()">导入</button>
<button type="button" class="btn btn-success btn-sm" id="export" data-type="csv" >模板下载</button>
</div>
</form>
ajax:
function upDatumCus(){
var formData = new FormData();
formData.append('files',$("#fileN")[0].files[0]);
$.ajax({
type: 'POST',
url:"/ziliaoke/DatumCusLeading",
encType: 'multipart/form-data',
data:formData,
contentType: false,
processData: false,
success: function(data) {
alert("数据保存成功");
},
error: function() {
alert("Connection error");
},
});
}
controller:
@ResponseBody
@RequestMapping("/DatumCusLeading")
public int DatumCusLeading(@RequestParam(value="files",required=false) MultipartFile file,HttpServletRequest request) throws Exception{
int a= 0;
InputStream fileInputStream = file.getInputStream();
a = fyDatumcustomerService.insertSelectiveDatumCus(fileInputStream);
return a;
}
serverimpl:
@Override
public int insertSelectiveDatumCus(InputStream fileInputStream) {
int a = 0;
FyDatumcustomer fyDatumcustomer = new FyDatumcustomer();
try {
List<String[]> datas =FileParseUtils.parseCSVFile(fileInputStream);
for (String[] strings : datas) {
fyDatumcustomer.setZdcName(strings[0]);
fyDatumcustomer.setZdcPhone(strings[1]);
fyDatumcustomer.setZdcBranch(strings[2]);
fyDatumcustomer.setZdcPerson(strings[3]);
fyDatumcustomer.setZdcCreatetime(new Date());
a = fyDatumcustomermapper.insertSelective(fyDatumcustomer);
}
} catch (IOException e) {
e.printStackTrace();
}
return a;
}
public final class FileParseUtils {
public static List<String[]> parseCSVFile(InputStream in) throws IOException{
CsvReader reader = null;
List<String[]> dataList = null;
try{
reader = new CsvReader(in, CharsetUtils.get("GBK"));
dataList = new ArrayList<String[]>();
reader.readHeaders();
while(reader.readRecord()){
dataList.add(reader.getRawRecord().split(","));
System.out.println(reader.getRawRecord());
}
}finally{
if(null != reader){
reader.close();
}
}
return dataList;
}
}