zoukankan      html  css  js  c++  java
  • JAVA------18.excel导出

    后台导出excel

    1.导入jar包

    链接:http://pan.baidu.com/s/1c2L70lE 密码:nvhh

    2.获取绝对路径

    2.源码:

    package com.action;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.struts2.ServletActionContext;
    
    import com.bean.AccountByDay;
    import com.bean.Qcash;
    import com.opensymphony.xwork2.ActionSupport;
    import com.util.UrlUtil;
    
    /**
     *  棋牌室提现excel导出
     * @author Administrator
     *
     */
    public class QpsCashExcelAction extends ActionSupport{
        
        private List<Qcash> qcash;
    
        public List<Qcash> getQcash() {
            return qcash;
        }
    
        public void setQcash(List<Qcash> qcash) {
            this.qcash = qcash;
        }
        @Override
        public String execute() throws Exception {
            // TODO Auto-generated method stub
            HttpServletResponse response=null;
            response=ServletActionContext.getResponse();
            
            HttpServletRequest request=ServletActionContext.getRequest();
            
            response.setContentType("text/html;charset=UTF-8");
            response.setCharacterEncoding("UTF-8");
            PrintWriter out=response.getWriter();
            //创建session对象
            HttpSession session=ServletActionContext.getRequest().getSession();
            if (session.getAttribute("id")==null) {
                out.print("<script lanaguage='javascript'>alert('请重新登录');window.location='login.jsp';></script>");
                out.flush();
                out.close();
                return null;
            }
            //棋牌室申请提现列表
            String url="dapail/qps/qpsApplyMoneyList.action?";
            JSONObject salerJson=JSONObject.fromObject(UrlUtil.getUrl(url));
            String data=salerJson.get("data").toString();
            JSONObject jsonData=JSONObject.fromObject(data);
            JSONArray backItemsjson = JSONArray.fromObject(jsonData.get("qpsMoneyItems").toString());
            List<Qcash> qc=new ArrayList<Qcash>();
            if(backItemsjson.size()>0){
                
                
                
                // 第一步,创建一个webbook,对应一个Excel文件  
                HSSFWorkbook wb = new HSSFWorkbook();  
                // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet  
                HSSFSheet sheet = wb.createSheet("棋牌室申请提现");  
                // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short  
                HSSFRow row = sheet.createRow((int) 0);  
                // 第四步,创建单元格,并设置值表头 设置表头居中  
                HSSFCellStyle style = wb.createCellStyle();  
                style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式  
          
                
                HSSFCell cell = row.createCell((short) 0);  
                cell.setCellValue("提现id");  
                cell.setCellStyle(style);  
                cell = row.createCell((short) 1);  
                cell.setCellValue("棋牌室名");  
                cell.setCellStyle(style);  
                cell = row.createCell((short) 2);  
                cell.setCellValue("棋牌室账号");  
                cell.setCellStyle(style);  
                cell = row.createCell((short) 3);  
                cell.setCellValue("卡名");  
                cell.setCellStyle(style); 
                cell = row.createCell((short) 4);  
                cell.setCellValue("账户名");  
                cell.setCellStyle(style); 
                cell = row.createCell((short) 5);  
                cell.setCellValue("银行卡账号");  
                cell.setCellStyle(style);
                cell = row.createCell((short) 6);  
                cell.setCellValue("提现金额");  
                cell.setCellStyle(style);
                cell = row.createCell((short) 7);  
                cell.setCellValue("提现状态");  
                cell.setCellStyle(style);
                cell = row.createCell((short) 8);  
                cell.setCellValue("提现时间");  
                cell.setCellStyle(style);
                
             // 第五步,写入实体数据 实际应用中这些数据从数据库得到,
                
                
                
                for(int i=0;i<backItemsjson.size();i++){
                    
                    String cash_state="";
                    JSONObject job = backItemsjson.getJSONObject(i);  // 遍历 jsonarray 数组,把每一个对象转成 json 对象
                    if(job.get("cash_state").toString().equals("1"))
                    {
                        cash_state="审核中";
                    }else if(job.get("cash_state").toString().equals("2"))
                    {
                        cash_state="审核成功";
                    }
                    else if(job.get("cash_state").toString().equals("3"))
                    {
                        cash_state="审核失败";
                    }
                    
                    row = sheet.createRow((int) i + 1);
                    row.createCell((short) 0).setCellValue(job.get("cash_id").toString());//得到 每个对象中的属性值
                    row.createCell((short) 1).setCellValue(job.get("qps_name").toString());//得到 每个对象中的属性值
                    row.createCell((short) 2).setCellValue(job.get("qps_account").toString());//得到 每个对象中的属性值
                    row.createCell((short) 3).setCellValue(job.get("card_name").toString());//得到 每个对象中的属性值
                    row.createCell((short) 4).setCellValue(job.get("user_name").toString());//得到 每个对象中的属性值
                    row.createCell((short) 5).setCellValue(job.get("card_num").toString());//得到 每个对象中的属性值
                    row.createCell((short) 6).setCellValue(String.format("%.3f",Double.valueOf(job.get("cash_money").toString())));//得到 每个对象中的属性值
                    row.createCell((short) 7).setCellValue(cash_state);//得到 每个对象中的属性值
                    row.createCell((short) 8).setCellValue(job.get("cash_time").toString());//得到 每个对象中的属性值
                    }  
                    // 第六步,将文件存到指定位置  
                    try  
                    {  
                        //项目真实路径
                        String upload = request.getRealPath("/");
                        //
                        upload=upload.replace("webapps/Back/", "webapps/");
                        
                        String path=upload+"qpsCash";
                        
                        System.out.println(path);
                        
                        File file = new File(path);
                            //判断上传文件的保存目录是否存在
                                  if (!file.exists() && !file.isDirectory()) {
                                     //创建目录
                                     file.mkdir();
                                }
                        
                        FileOutputStream fout = new FileOutputStream(path+"/qpsCash.xls");  
                        wb.write(fout);  
                        fout.close();  
                    }  
                    catch (Exception e)  
                    {  
                        e.printStackTrace();  
                    }  
                    
            }
            return SUCCESS;
        }
    }
  • 相关阅读:
    使用Dapper参数化查询(三) IN 查询
    cs窗体继承问题
    SVN使用教程总结(转载)
    celery——使用
    celery——简介及安装
    luffy——django中使用redis
    redis——redis入门(常用数据类型:l )
    redis——redis入门(二)
    redis——redis入门(常用数据类型:string hash)
    redis——redis入门(一)
  • 原文地址:https://www.cnblogs.com/coriander/p/6958610.html
Copyright © 2011-2022 走看看