zoukankan      html  css  js  c++  java
  • 导出excel

    要实现Excel首先是需要的夹包如下

    poi-3.13-20150929.jar

    导入夹包后就开始实现功能了,我用的是java,spring+springmvc+mybtis,前台使用的是jsp,js.easyui

    ========开始==========

    ==========前台的写法===========

    <iframe name="download"  id="download"  style="display:none"></iframe>    定义一个内嵌页,给个id

    //导出Excle
       $("#exBtn").click(function(){       
          var list=$("#usertable").datagrid('getSelections');//easyui的方法,得到所有的勾选的chackboox,结果是个list,里面是一行行的数据,就相当于一个个的实体
             if(list.length<1){
                  $.messager.show({
                        title:'提示',
                         msg:'请选择一条语句在导出'
                   });
               }else{

                //用内嵌页来接收
                $("#download").attr('src',
                   "${pageContext.request.contextPath}/user/exportUser.do?list1="+JSON.stringify(list));//将list转化为json字符串

               //或是下面这样写,这样不用定义内嵌页,直接写就可以

             //window.open("${pageContext.request.contextPath}/user/exportUser.do?list1="+JSON.stringify(list));
               }
         })

    ==========后台的写法===========

    @RequestMapping(value="/exportUser",produces = "application/json; charset=utf-8")
        @ResponseBody
        public String excleport(HttpServletRequest request,HttpServletResponse response) throws IOException{
            //获取前台传来的数据,json格式的字符串
            String lists=new String(request.getParameter("list1").getBytes("iso-8859-1"));
            List<selectUser> list=null;
            //System.out.println(lists);
            String filename="人员信息";
            if(StringUtils.isNoneBlank(lists)){//判断数据不为空
                //将字符串转成json,在转成list
                JSONArray jsonarray=JSONArray.fromObject(lists);
                list=(List<selectUser>)jsonarray.toCollection(jsonarray, selectUser.class);
                if(!list.isEmpty()){
                }else{
                    return null;
                }
            }else{
                return null;
            }
             // 创建一个Excel文档对象,相当于一个空白页
             Workbook wb = new HSSFWorkbook();
             //创建一个表,空白页上有了行和列的方格,相当于一个空的excle表格
             Sheet sheet= wb.createSheet();
             // 创建一行,参数0代表创建excle的第一行
             Row titleRow = sheet.createRow(0);
             //创建一行的每一列。并赋值
             Cell cell=titleRow.createCell(0);//创建表头第一列
             cell.setCellValue("用户姓名");//第一列表头起名字
             titleRow.createCell(1).setCellValue("用户年龄");//创建表头第二列,并给第二列起名
             titleRow.createCell(2).setCellValue("用户性别");
             titleRow.createCell(3).setCellValue("用户电话");
             titleRow.createCell(4).setCellValue("用户身份证");
             titleRow.createCell(5).setCellValue("创建时间");
             titleRow.createCell(6).setCellValue("用户邮箱");
             //程序运行到这里就导出的话,效果就是一个excle表格有一行,这一行一共有7列,
             //每一列的名字是上面指定的,但是没有数据,
             
             //循环创建第2行、第3行....,并且给每一行创造列,并将list里的数据赋值给每一列
             Row itemRow = null;
             int i=0;
             for(selectUser u:list){
                 itemRow=sheet.createRow(++i);
                 Cell cell1=itemRow.createCell(0);
                 cell1.setCellValue(u.getName());
                 itemRow.createCell(1).setCellValue(u.getAge());
                 itemRow.createCell(2).setCellValue(u.getSex());
                 itemRow.createCell(3).setCellValue(u.getPhonenumber());
                 itemRow.createCell(4).setCellValue(u.getIdcard());
                 itemRow.createCell(5).setCellValue(u.getCreatedate());
                 itemRow.createCell(6).setCellValue(u.getEmail());
             }        
            response
            .setHeader("Content-Disposition","attachment;filename="+new String(filename.getBytes("utf-8"), "iso8859-1")+".xls");
            wb.write(response.getOutputStream());
            return null;
        }

  • 相关阅读:
    Docker 中 MySql 启动失败,报错 Can't open and lock privilege tables: Table storage engine for 'user'
    使用命令行编译和运行Java代码
    Linux编程--进程间通信
    Linux编程--信号
    HDU 2159 完全背包
    HDU 2844 多重背包
    hdu 2602 dp 01背包
    hdu 1864 01背包
    JSON学习
    Django Cookie
  • 原文地址:https://www.cnblogs.com/xueershewang/p/6845362.html
Copyright © 2011-2022 走看看