/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 获取上传文件对象
MultipartFile file = entity.getValue();
String sourceStr = file.getOriginalFilename();
String[] sourceStrArray = sourceStr.split("\\.");
String power = null;
for (int i = 0; i < sourceStrArray.length; i++) {
if ("mean".equals(sourceStrArray[2])) {
power = "南京市";
}
if ("stnA".equals(sourceStrArray[2])) {
power = "江宁区";
}
if ("stnB".equals(sourceStrArray[2])) {
power = "高淳区";
}
}
try {
//用来保存数据
ArrayList<String[]> csvList = new ArrayList<String[]>();
//注明:或者可以通过前端上传的文件,用一个方法获取上传文件名uploadName(String)
//解决中文编码
CsvReader reader = new CsvReader(file.getInputStream(), ',', Charset.forName("GBK"));
// 跳过表头 如果需要表头的话,不要写这句。
reader.readHeaders();
//逐行读入除表头的数据
while (reader.readRecord()) {
csvList.add(reader.getValues());
}
List<LrStack> list = new ArrayList<>();
reader.close();
for (int row = 0; row < csvList.size(); row++) {
//取得第row行第0列的数据,可以指定获取内容
LrStack lrStack = new LrStack();
lrStack.setDataTime(csvList.get(row)[0]);
lrStack.setNanjing(csvList.get(row)[1]);
lrStack.setShanghai(csvList.get(row)[2]);
lrStack.setSubei(csvList.get(row)[3]);
lrStack.setWanbei(csvList.get(row)[4]);
lrStack.setHuantaihu(csvList.get(row)[5]);
lrStack.setWanzhongnan(csvList.get(row)[6]);
lrStack.setSuzhong(csvList.get(row)[7]);
lrStack.setZhezhongnan(csvList.get(row)[8]);
lrStack.setOther(csvList.get(row)[9]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssX");
Date date2 = sdf.parse(csvList.get(row)[0]);
lrStack.setTime(date2);
lrStack.setPower(power);
list.add(lrStack);
}
service.saveBatch(list);
return Result.OK("导入成功");
} catch (IOException | ParseException e) {
e.printStackTrace();
return Result.error("文件导入失败!");
}
}
return null;
}
jeecgboot导入csv文件
最新推荐文章于 2024-06-24 11:55:34 发布