1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java excel导入前台_java上传excel表格并读取数据返回到前台

java excel导入前台_java上传excel表格并读取数据返回到前台

时间:2018-12-02 04:43:02

相关推荐

java excel导入前台_java上传excel表格并读取数据返回到前台

如果你对里面的代码不熟悉不知道的话,建议先浏览一遍代码再拿去用,

这里我介绍一下这个过程的思路:

1、定义变量那些就不说了 ,

2、首先是上传文件并保存的代码

3、根据excel表的路径来读取文件,之后便是先获取最大行数和最大列数,然后根据最大行数和最大列数来循环表格。循环行的过程中循环列,获取到一行中所有的列数据再对数据进行处理,根据需求给每一个列的数据分配一个名字,也是k-y,然后再进行存储。

!!反正代码下面,不懂可以私信,或者自己打断点调试,看两遍就会理解里面的内容了

@RequestMapping(value = "/ImportExcel")

@ResponseBody

public JSONObject ImportExcel(@RequestParam(value = "file", required = false) MultipartFile file) throws Exception {

//这里创建json对象,实测用map的话,json数据会有问题

JSONObject jsonMap = new JSONObject();

Sheet sheet = null; //excel的表

Row row = null; //行

String cellData = null; //列数据

//以上是定义一些要用的变量==========================================================

//讲选择的文件上传到upload目录

String fileName = file.getOriginalFilename();

// 获取上传目录的路径

String path = request.getRealPath("/upload");// 获取上传文件路径

String prefix = fileName.substring(fileName

.lastIndexOf('.') + 1);// 获取文件后缀名

Date time = new Date();

String filename = time.getYear() + "" + time.getMonth() + ""

+ time.getDay() + "" + time.getHours() + "" + time.getMinutes()

+ "" + time.getSeconds() + "";

File targetFile = new File(path, filename + "."

+ prefix);

//保存文件

file.transferTo(targetFile);

//以上先上传并把文件保存到服务器==========================================================

// 获取上传目录的路径

Workbook wb =EXCELBean.readExcel(path+"\\"+filename + "." + prefix);

if(wb != null){

//用来存放表中一行的数据

List listMap = new ArrayList();

//获取第一个sheet

sheet = wb.getSheetAt(0);

//获取最大行数

int rownum = sheet.getPhysicalNumberOfRows();

//获取第一行

row = sheet.getRow(0);

//获取最大列数

int colnum = row.getPhysicalNumberOfCells();

//循环行

for (int i = 1; i < rownum; i++) {

row = sheet.getRow(i);

if(row !=null){

//创建list对象接收读出的excel一行中列的数据

List list = new ArrayList();

//循环列

for (int j=0;j

cellData = (String) EXCELBean.getCellFormatValue(row.getCell(j));

list.add(cellData);

}

//这里可以定义多个JSONObject来对数据进行处理嵌套等操作,最后再储存到listMap中,

JSONObject jsonObject2 = new JSONObject();

jsonObject2.put("skvDorCode0",list.get(0));

jsonObject2.put("skvDorCode1",list.get(1));

jsonObject2.put("skvDorCode2",list.get(2));

jsonObject2.put("skvDorCode3",list.get(3));

jsonObject2.put("skvDorCode4",list.get(4));

jsonObject2.put("skvDorCode5",list.get(5));

/*//创建jsonBmt对象,进一步把以上对象嵌套

JSONObject jsonBmt = new JSONObject();

//把以上几个嵌套入第一层对象中

jsonObject2.put("businessMixTypes",jsonBmt); */

listMap.add(jsonObject2);

}else{

break;

}

}// end for row

//最外层加个key-gridData

jsonMap.put("msg", "上传数据成功");

jsonMap.put("gridData", listMap);

System.out.println(jsonMap);

return jsonMap;

}

jsonMap.put("msg", "上传数据为空");

return jsonMap;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。