jar 包准备

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>3.17</version>
</dependency>

后端

    @Override
public List<Orders> selectList(Map<String,String> params) { SqlSession sqlSession = sqlSessionFactory.openSession(true); List<Orders> list = sqlSession.selectList("com.xwhbank.cn.config.mybatis.namespace.ordersMapper.selectList", params); return list; }
  <select id="selectList" parameterType="java.util.Map" resultType="orders">
select * from orders where the_super_id = #{the_super_id} and state = '2' and order_time &gt;= #{daochu01} and order_time &lt;= #{daochu02};
</select>
List<Orders> list = ordersService.selectList(params);

Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("stuDB");//stuDB 改为什么都行
Row row = sheet.createRow((short)0);//0 Row 此行设置表格的头部
Cell cell = null;
cell = row.createCell((short)0);
cell.setCellValue("tenant_order_id");//表格某一列头部的名字
cell = row.createCell((short)1);
cell.setCellValue("money");
cell = row.createCell((short)2);
cell.setCellValue("pay_way");
cell = row.createCell((short)3);
cell.setCellValue("order_time");
cell = row.createCell((short)4);
cell.setCellValue("schlep"); int i=1;
for (Orders o:list) {
row = sheet.createRow(i);
cell = row.createCell(0);
cell.setCellValue(o.getTenant_order_no());
cell = row.createCell(1);
cell.setCellValue(o.getMoney_amount());
cell = row.createCell(2);
cell.setCellValue(o.getPay_way());
cell = row.createCell(3);
cell.setCellValue(o.getOrder_time());
cell = row.createCell(4);
cell.setCellValue(o.getSchlep());
i++;
}
//HttpServletResponse 第一个头部必须设置
//第二个可以先不设置 只设置第一个头部运行后 可以确定浏览器导出的是什么文件后缀
//接上面 若有自定义命名需要 可以加上第二行 并带上确定的文件名后缀
response.setHeader("content-Type", "application/vnd.ms-excel");
//下面设置浏览器下载的文件名 包含文件后缀
response.setHeader("Content-Disposition", "attachment;filename="+the_super_id+"-"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date())+".xls");
workbook.write(response.getOutputStream());
response.getOutputStream().flush();
System.out.println("Success");

前端

//#dddc 任意可点击的东西 ,#daochu01  需要带给服务器的参数
$("#dddc").on('click', function () {
var url = "http://" + window.location.host + "/ddgl/dddc";
$('<form method="get" action=' + url + '>' +
'<input name="daochu01" type="text" value='+$("#daochu01").val()+'/>' +
'<input name="daochu02" type="text" value='+$("#daochu02").val()+'/>' +
'</form>').appendTo('body').submit().remove();
});
//ajax请求服务器,是不能返回excel表格的(这个不确定),我们需要把请求转换为页面请求,即转换为form表单发送请求,这样就可以把数据导出为表格了

结果

5001263243584372792-2018_05_04 22_50_10.xls

参考:https://www.testwo.com/blog/7800

   https://www.cnblogs.com/yansj1997/p/4814213.html

java 导mysql数据为表格给浏览器接收的更多相关文章

  1. Java调用MySql数据库函数

    Java调用MySql数据库函数 /** * 调用mysql的自定义函数 * */ private void test() { logger.info("show task start &q ...

  2. Spark使用Java读取mysql数据和保存数据到mysql

    原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...

  3. java连接mysql数据查询数据

    package com.cn.peitest.connectDatabase; import java.sql.Connection; import java.sql.DriverManager; i ...

  4. java操作MySQL数据事务的简单学习

    在执行数据更改操作前使用数据库连接对象调用setAutoCommit方法(conn.setAutoCommit(false)),其参数true或false区别: true:sql命令的提交(commi ...

  5. Java实现Mysql数据导入导出

    package com.backup; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.File ...

  6. java实现mysql数据备份

    /** * @param hostIP ip地址,可以是本机也可以是远程 * @param userName 数据库的用户名 * @param password 数据库的密码 * @param sav ...

  7. 利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

    登录界面 <body><form action="login1.php" method="post"><div>用户名:&l ...

  8. Java使用Mysql数据库实现批量添加数据

    EmployeeDao.java //批处理添加数据 public int saveEmploeeBatch(){ int row = 0; try{ con = DBCon.getConn(); S ...

  9. 原生PHP和MYSQL练习登陆验证和查询数据到表格

    直接上代码吧 <?php header("Content-type: text/html; charset=utf-8"); //数据量链接 $conn=mysqli_con ...

随机推荐

  1. hdu5000 Clone dp+大数

    After eating food from Chernobyl, DRD got a super power: he could clone himself right now! He used t ...

  2. 接口测试基础——第3篇smtplib发送带图片的邮件

    smtplib发送邮件最后一篇,发送带图片的邮件: 大家可以去廖雪峰的网站看一下,下面的代码就是我跟着博客写的,哈哈,大家即使不明白为什么,也要多写两遍,记在心里,如果有不明白的地方可以留言,船长会第 ...

  3. 快速排序的两种实现 -- 种轴partition : 比值partition(更精巧)

    实现1:种轴partition,not in place--取定枢轴,将小于等于枢轴的放到枢轴左边,大于枢轴的放到右边 # python algorithm en_2nd edition p125de ...

  4. 对象属性的描述:writable、enumerable、configurable

    writable属性 writable属性是一个布尔值,决定了目标属性的值(value)是否可以被改变.如果原型对象的某个属性的writable为false,那么子对象将无法自定义这个属性. enum ...

  5. 十八、springcloud(四)熔断器

    1.熔断器(Hystrix) a.断路器机制 断路器很好理解, 当Hystrix Command请求后端服务失败数量超过一定比例(默认50%), 断路器会切换到开路状态(Open). 这时所有请求会直 ...

  6. jsp中forward与redirect

    一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(reques ...

  7. CentOS7版本区别和下载

    CentOS 7提供了三种ISO镜像文件的下载: DVD ISO 标准安装版,一般下载这个就可以了(推荐) Everything ISO 对完整版安装盘的软件进行补充,集成所有软件.(包含centos ...

  8. 安装ORACLE高可用RAC集群11g执行root脚本的输出信息

    安装ORACLE高可用RAC集群11g执行root脚本的输出信息 作者:Eric 微信:loveoracle11g [root@node1 ~]# /u01/app/oraInventory/orai ...

  9. JS基础——变量

    引用类型:对象  数组 函数 }; var b =a ; b.age = ; console.log(a.age);// 21 传递的是地址, a,b同地址 值类型: var a =100; var ...

  10. 星级评分原理 N次重写的分析

    使用的是雪碧图,用的软件是CSS Sprite Tools 第一次实现与分析: <!DOCTYPE html> <html> <head> <meta cha ...