Java后台Excel表导出

导出数据到Excel:

1. 将数据查询出来返回给导出jsp页面。

    //导出数据
            @RequestMapping(value ="/chongLog_info_xls",produces="text/html;charset=UTF-8")
            public String consume_info_xls(String q_start_date,String q_end_date,Model map,HttpServletRequest request,String user_type,String q_tel,String status){
                String q_str="";
                if(q_tel!=null && !q_tel.equals("")){
                    q_str+=" and a.tel like ‘%"+q_tel+"%‘";
                }

               if(StringUtils.isNotBlank(q_start_date)){

                    q_str+=" and to_char(a.insert_date,‘yyyy-MM-dd‘) >=‘"+q_start_date+"‘";
                }
                if(StringUtils.isNotBlank(q_end_date)){

                    q_str+=" and to_char(a.insert_date,‘yyyy-MM-dd‘) <=‘"+q_end_date+"‘";
                }
                String sql="select a.name a__name,a.tel a__tel,c.money c__money,c.insert_date c__insert_date,c.balance c__balance,c.balance+c.money c__after"
                        + " from t_fg_user a,T_CHONG_LOG c where a.id=c.user_id "
                + " and 1=1 "+q_str+" order by c.insert_date desc";
                List list=proxy_jyyzService.findall(sql);
                map.addAttribute("list", list);
                return "bg/finance/chongLog_info_xls";
            }
            

2. 导出功能jsp文件配置

chongLog_info_xls.jsp:
<%@ page contentType="application/x-msexcel;" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@page import="java.util.*"%>
<html>
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style>
           td{
             vnd.ms-excel.numberformat:@;

             border:0.5pt solid #c5c5c5;

             height:30px;
             word-break:break-all;
             word-wrap:break-word;
           }
           #tab_title td{background:#f5f5f5;}
       </style>
    </head>
    <%

        response.setHeader("Content-Disposition","filename=emp.xls"); 

        String menu_id=request.getParameter("menu_id");
        String cookie_menu=request.getParameter("cookie_menu");
     %>
<body>
    <%=AddExcelHead()%>
    <!-- 内容面板--开始 -->
    <table cellpadding="0" cellspacing="0"  border="1" style="border:0px red solid;table-layout: fixed;">
         <tr valign="middle">
             <td style="font-size:18px;font-weight:700;border:none" width="30" height="50" align="center" colspan="7">
                <div>系统充值明细</div>
            </td>
        </tr>
        <tr id="tab_title">
            <td width=‘80‘>序号</td>
            <td width=‘80‘>昵称</td>
            <td width=‘100‘>手机号</td>
            <td width=‘100‘>充值金额</td>
            <td width=‘80‘>充值前金额</td>
            <td width=‘100‘>充值后金额</td>
            <td width=‘150‘>充值时间</td>

           </tr>
           <c:set value="0" var="t_money"></c:set>
           <c:set value="0" var="t_amount"></c:set>

           <c:forEach var="bk" items="${list }" varStatus="status">
               <c:set value="${t_money+ bk.c__money}" var="t_money" ></c:set>
               <c:set value="${t_amount+ 1}" var="t_amount" ></c:set>
               <tr>
                   <td>${status.index+1}
                <td>${bk.a__name}
                <td>${bk.a__tel}
                <td>${bk.c__money}
                <td>${bk.c__balance}
                <td>${bk.c__after}
                <td>${bk.c__insert_date}                

           </c:forEach>
               <tr>
                <td colspan=‘7‘ width=‘100‘ style="text-align:left;font-size:14px;">
                    合计:共 <span style="color:Red">${t_amount}</span> 个记录,充值总金额为 <span style="color:Red"><fmt:formatNumber type="number" value="${t_money}" pattern="0.00" maxFractionDigits="2"/> </span> 元。

                </td>
            </tr>
    </table>
   <%=AddExcelbottom()%>
</body>
</html>
<%!
    private static String AddExcelHead(){
        StringBuffer sb = new StringBuffer();
        sb.append("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
        sb.append(" <head>");
        sb.append(" <!--[if gte mso 9]><xml>");
        sb.append("<x:ExcelWorkbook>");
        sb.append("<x:ExcelWorksheets>");
        sb.append("<x:ExcelWorksheet>");
        sb.append("<x:Name>Sheet</x:Name>");
        sb.append("<x:WorksheetOptions>");
        sb.append("<x:Print>");
        sb.append("<x:ValidPrinterInfo />");
        sb.append(" </x:Print>");
        sb.append("</x:WorksheetOptions>");
        sb.append("</x:ExcelWorksheet>");
        sb.append("</x:ExcelWorksheets>");
        sb.append("</x:ExcelWorkbook>");
        sb.append("</xml>");
        sb.append("<![endif]-->");
        sb.append(" </head>");
        sb.append("<body>");
        return sb.toString();
    }

    private static String AddExcelbottom(){
        StringBuffer sb = new StringBuffer();
        sb.append("</body>");
        sb.append("</html>");
        return sb.toString();
    }
%>

原文地址:https://www.cnblogs.com/dztHome/p/9283392.html

时间: 2024-10-05 03:09:36

Java后台Excel表导出的相关文章

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 文件生成后转化为字节流

Java 后台 Excel 文件生成后转化为字节流 java excel 使用 poi组件, HSSFWorkbook workBook = new HSSFWorkbook(); 对于workBook生成字节流,很容易发现有个workBook .getBytes(),但是,是不可用的,下载以后打不开, 如果下载,正确的写法为 workBook.write(response.getOutputStream()); 如果转化为字节流: ByteArrayOutputStream os = new

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

java写excel表的数据导出

// POI中的api                // 创建工作簿                HSSFWorkbook wb = new HSSFWorkbook(); // 创建工作表,就是一workSheet                HSSFSheet sheet = wb.createSheet("汽车列表");                // 创建首行,索引从0开始                HSSFRow firstRow = sheet.createR

jfinal excel表导出

在自己的WEB项目中要用到导出Excel,所以结合网络上的资源写了一个自己的export 工具类. 说明: JFinal 环境 WEB项目 JAVA后台生成非JS插件 好了,直接撸代码 1.设置文件保存路径 private static final String FILEPATH = PathKit.getWebRootPath() + File.separator + "upload" + File.separator ;//路径为webRoot/upload/ 2.设置 文件名 p

java实现excel表格导出

Java 实现导出excel表 POI 1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 2.Student.java import java.util.Date; public class Student { private int id; private String name; private int age; private Date birth; public Stu

java poi excel 导入导出数据

背景:1.pringmvc 框架下 的excel 导入导出   2.OI 操作office. 页面代码: <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class=&quo

yii2 中excel表导出

首先下载phpexcel 在引入类文件(在web中index.php入口文件或者控制器中引入) require_once dirname(dirname(__FILE__)).'/excel/PHPExcel.php'; require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/IOFactory.php';require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/Reader/Exc

Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题

问题1:Unable to recognize OLE stream 格式的问题要可能是因为给的数据是2010年的数据表后缀为.xlsx,要先转化成2003版的后缀为.xls 问题2: Warning: Property storage name for 5 is empty - setting to Root Entry 可能是jxl.jar 不支持Excel 5.0 for Mac,在Mac下导入会出现这个问题. //从Excel中读取数据rowNum行 public static doub