HTML5技术

实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件 - 还是盼盼好(3)

字号+ 作者:H5之家 来源:H5之家 2017-07-02 13:00 我要评论( )

好啦,到这里你以及看完了整个过程,重点是要理解其中的思路,尤其是转化方法上面。下面我将介绍导出json数据到excel文件中,其实这个就简单了就在后台将你的json数据调用转化方法,然后写入到excel文件中,返回前

好啦,到这里你以及看完了整个过程,重点是要理解其中的思路,尤其是转化方法上面。下面我将介绍导出json数据到excel文件中,其实这个就简单了就在后台将你的json数据调用转化方法,然后写入到excel文件中,返回前台设置响应让其下载即可。

这个是导出excel核心的方法。

/* src:定义下载的文件路径 */ public static JSONObject createExcel(String src, JSONArray json) { JSONObject result = new JSONObject(); // 用来反馈函数调用结果 try { // 新建文件 File file = new File(src); file.createNewFile(); OutputStream outputStream = new FileOutputStream(file);// 创建工作薄 jxl.write.WritableWorkbook writableWorkbook = jxl.Workbook.createWorkbook(outputStream); jxl.write.WritableSheet sheet = writableWorkbook.createSheet("First sheet", 0);// 创建新的一页 // JSONArray jsonArray = json.getJSONArray("dt");// 得到data对应的JSONArray JSONArray jsonArray = json;// 得到data对应的JSONArray jxl.write.Label label; // 单元格对象 int column = 0; // 列数计数 // 将第一行信息加到页中。如:姓名、年龄、性别 JSONObject first = jsonArray.getJSONObject(0); Iterator<String> iterator = first.keys(); // 得到第一项的key集合 while (iterator.hasNext()) { // 遍历key集合 String key = (String) iterator.next(); // 得到key label = new jxl.write.Label(column++, 0, key); // 第一个参数是单元格所在列,第二个参数是单元格所在行,第三个参数是值 sheet.addCell(label); // 将单元格加到页 } // 遍历jsonArray for (int i = 0; i < jsonArray.size(); i++) { JSONObject item = jsonArray.getJSONObject(i); // 得到数组的每项 iterator = item.keys(); // 得到key集合 column = 0;// 从第0列开始放 while (iterator.hasNext()) { String key = iterator.next(); // 得到key String value = item.getString(key); // 得到key对应的value label = new jxl.write.Label(column++, (i + 1), value); // 第一个参数是单元格所在列,第二个参数是单元格所在行,第三个参数是值 sheet.addCell(label); // 将单元格加到页 } } writableWorkbook.write(); // 加入到文件中 writableWorkbook.close(); // 关闭文件,释放资源 } catch (Exception e) { result.put("result", "failed"); // 将调用该函数的结果返回 result.put("reason", e.getMessage()); // 将调用该函数失败的原因返回 return result; } // result.put("result", "successed"); return result; }

  

 虽然在项目运用到了这个,昨天自己又从新搭建项目给大家提供一个演示例子,真的又弥补到了很多东西,包括struts2的配置请求方式,json数据转化解析过程,ajax请求机制,poi对excel,word等文件编辑操作等等。如果大家觉得可以请点个赞,你们的赞是我前进的动力。

另外大神们看了有什么问题请指出来,我虚心学习,需要演示项目源码的就在下方评论出来,大家一起分享学习。

 

需要演示项目的到我github上下载, https://github.com/chenpanpan0809/MyProjcet

别忘了点波推荐哦,大神们(*^_^*)

 

 

 

 

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • svg实现简单沙漏旋转 - 师妹儿

    svg实现简单沙漏旋转 - 师妹儿

    2017-07-01 08:00

  • svg实现放大效果 - 师妹儿

    svg实现放大效果 - 师妹儿

    2017-06-30 18:00

  • 利用单片机快速实现家庭智能控制平台 - 小五义

    利用单片机快速实现家庭智能控制平台 - 小五义

    2017-06-29 18:00

  • css3实现可以计算的自适应布局——calc() - WEB大白

    css3实现可以计算的自适应布局——calc() - WEB大白

    2017-06-29 11:01

网友点评
"