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;
    }
}
时间: 2024-10-23 08:10:39

JAVA------18.excel导出的相关文章

java POI excel 导出复合样式(一个单元格两个字体)

前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> 具体实现: 工具类方法:

Java POI Excel导出文件名中文乱码

在导出前对名称根据浏览器做下处理 // 判断浏览器类型,firefox浏览器做特殊处理,否则下载文件名乱码 public static void compatibleFileName(HttpServletRequest request, HttpServletResponse response, String excelname) throws UnsupportedEncodingException { String agent = request.getHeader("USER-AGENT

POI使用详解 java 复杂excel导出

Apache POI使用详解 1.POI结构与常用类 (1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档的功能. (2)POI结构说明 包名称说明 HSSF提供读写Microsoft Excel XLS格式档案的功能. XSSF提供读写Microsoft Excel OOXM

Java将Excel导出成pdf文件

首先下载一个jar包,需要用到这个jar包,这里贴出下载的方法,官网上可以找到. 首先,在pom.xml文件中配置Maven仓库路径. <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>

java实现excel的导入导出(poi详解)[转]

java实现excel的导入导出(poi详解) 博客分类: java技术 excel导出poijava 经过两天的研究,现在对excel导出有点心得了.我们使用的excel导出的jar包是poi这个阿帕奇公司的一个项目,后来被扩充了.是比较好用的excel导出工具. 下面来认识一下这个它吧. 我们知道要创建一张excel你得知道excel由什么组成,比如说sheet也就是一个工作表格,例如一行,一个单元格,单元格格式,单元格内容格式…这些都对应着poi里面的一个类. 一个excel表格: HSS

java excel导出

1.  Excel导出的核心方法在ExportExcel类中,使用时请将该类完整的引入. 1 import java.io.IOException; 2 import java.io.OutputStream; 3 import java.lang.reflect.Field; 4 import java.lang.reflect.InvocationTargetException; 5 import java.lang.reflect.Method; 6 import java.text.Si

java反射学习之二万能EXCEL导出

一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对象的所有属性作为EXCEL的列,该对象占据EXCEL的一行 二.万能EXCEL导出(以JXL为例,jxl.poi等excel导入导出的jar包不做介绍了) 1.创建java工程.引入jxl的jar包 2.直接上代码 Book.java /** * Book对象 * @author bwy * */

java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)

最近项目要一个批量导出功能,而且要生成一个单独的sheet页,最后后面所有sheet的索引,并且可以点击进入连接.网上搜索了一下,找到一个方法,同时把相关的excel导入导出操作记录一下!以便以后使用! 简单先写一下目录的建立的主要代码,测试用的 List ls = new ArrayList();//报表名称列表  ls.add("BB_BB03");  ls.add("BB_BB05");  ls.add("BB_BB06"); try { 

JAVA原始的导出excel文件,快捷通用 方便 还可以导出word文档哦

现在导出excel基本上都是用poi了,当报表格式很负责的时候 开发难度会加大 如果报表有格式有变化 那就更复杂了,先发现一个很老的技术,可以解决格式复杂的报表. 实例代码如下: <%@ page contentType="application/vnd.ms-excel;charset=GBK" %> <%@page import="java.net.URLEncoder"%> <% String filedisplay = &quo

java实现Excel数据导出

java实现Excel数据导出: 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟.官方主页http://poi.apache.org/index.html,API文档http://poi.apache.o