怎么在jsp中吧动态生成的数据导入excel
如何在jsp中吧动态生成的数据导入excel
我通过后台action生成的数据在jsp中遍历放到table
现在要在jsp中通过一个button 然后可以吧数据保存到本地生成excel文件
我开始用js做一直报错,后来想通过button吧table的数据发送到servlet然后经过处理再打包回传下载,这个可行性高吗?
或者各位还有什么方法,求教谢谢
------解决方案--------------------
给你一段参考代码,java写入excel文件的
这是我的项目里的一段查询记录并且下载成excel的.
通过在后台查询出一个list,然后写入excel,供用户下载 , 这个应该可以满足你的需求
需要用到的jar包自己百度
我通过后台action生成的数据在jsp中遍历放到table
现在要在jsp中通过一个button 然后可以吧数据保存到本地生成excel文件
我开始用js做一直报错,后来想通过button吧table的数据发送到servlet然后经过处理再打包回传下载,这个可行性高吗?
或者各位还有什么方法,求教谢谢
------解决方案--------------------
给你一段参考代码,java写入excel文件的
这是我的项目里的一段查询记录并且下载成excel的.
通过在后台查询出一个list,然后写入excel,供用户下载 , 这个应该可以满足你的需求
需要用到的jar包自己百度
- Java code
public void ghhzExcel(HttpServletResponse response,String t1,String t2){ ModelAndView mav = new ModelAndView(); String date = dus.showDate("yyyy-MM-dd"); List<Mzguahao> ghdlist = gs.queryGhd(t1, t2); float heji =0; if(ghdlist.size()>0) { for(int i=0;i<ghdlist.size();i++) { heji +=Float.parseFloat(ghdlist.get(i).getSfhj()); } } String filename="门诊收费挂号单查询"+date+".xls"; try { response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition","attachment;filename=" + URLEncoder.encode(filename,"UTF-8")); OutputStream os = response.getOutputStream(); jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os); jxl.write.WritableSheet ws = wwb.createSheet("Sheet1", 0); String[] title = {"处方编号","缴费标志","患者类型","患者姓名","性别","年龄","单位","挂号科室","医生","划价时间"}; for(int i= 1;i<(ghdlist.size()+1);i++){ String[] content = {ghdlist.get(i-1).getGhnum(),ghdlist.get(i-1).getBz(),ghdlist.get(i-1).getHztype(),ghdlist.get(i-1).getName(),ghdlist.get(i-1).getSex(),ghdlist.get(i-1).getAge(),ghdlist.get(i-1).getJob(),ghdlist.get(i-1).getKeshi(),ghdlist.get(i-1).getDoctor(),ghdlist.get(i-1).getGhdate()}; for(int j=0;j<10;j++){ jxl.write.Label labelB= new jxl.write.Label(j,0,title[j]); ws.addCell(labelB); jxl.write.Label labelC = new jxl.write.Label(j,i,content[j]); ws.addCell(labelC); } } jxl.write.Label label1= new jxl.write.Label(0,ghdlist.size()+1,"合计"); jxl.write.Label label2= new jxl.write.Label(1,ghdlist.size()+1,String.valueOf(heji)); ws.addCell(label1); ws.addCell(label2); wwb.write(); wwb.close(); os.flush(); os.close();