java 导mysql数据为表格给浏览器接收
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 >= #{daochu01} and order_time <= #{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数据为表格给浏览器接收的更多相关文章
- Java调用MySql数据库函数
Java调用MySql数据库函数 /** * 调用mysql的自定义函数 * */ private void test() { logger.info("show task start &q ...
- Spark使用Java读取mysql数据和保存数据到mysql
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...
- java连接mysql数据查询数据
package com.cn.peitest.connectDatabase; import java.sql.Connection; import java.sql.DriverManager; i ...
- java操作MySQL数据事务的简单学习
在执行数据更改操作前使用数据库连接对象调用setAutoCommit方法(conn.setAutoCommit(false)),其参数true或false区别: true:sql命令的提交(commi ...
- Java实现Mysql数据导入导出
package com.backup; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.File ...
- java实现mysql数据备份
/** * @param hostIP ip地址,可以是本机也可以是远程 * @param userName 数据库的用户名 * @param password 数据库的密码 * @param sav ...
- 利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据
登录界面 <body><form action="login1.php" method="post"><div>用户名:&l ...
- Java使用Mysql数据库实现批量添加数据
EmployeeDao.java //批处理添加数据 public int saveEmploeeBatch(){ int row = 0; try{ con = DBCon.getConn(); S ...
- 原生PHP和MYSQL练习登陆验证和查询数据到表格
直接上代码吧 <?php header("Content-type: text/html; charset=utf-8"); //数据量链接 $conn=mysqli_con ...
随机推荐
- Fabric的@runs_once的理解
1:runs_once的用法,一直没理解,我看网上都是说:“函数修饰符,标识的函数只会执行一次,不受多台主机影响” 实在没理解,然后看了一下官方文档,这样解释 举个例子: #!/usr ...
- dubbo 熔断,限流,降级
1 写在前面 1.1 名词解释 consumer表示服务调用方 provider标示服务提供方,dubbo里面一般就这么讲. 下面的A调用B服务,一般是泛指调用B服务里面的一个接口. 1.2 拓扑图 ...
- AndroidStudio 开发JNI
Android版本不断更新,发现网上很多JNI的教程,都不太适用了,会遇到各种问题,今天自己来总结一个. NDK下载 我们下载NDK,有两种下载方式: 这是Google官方下载 点击下载NDK: 通过 ...
- 如何系统学习知识图谱-15年+IT老兵的经验分享
一.前言 就IT而言,胖子哥算是老兵,可以去猝死的年纪,按照IT江湖猿龄的规矩,也算是到了耳顺之年:而就人工智能而言,胖子哥还是新人,很老的新人,深度学习.语音识别.人脸识别,知识图谱,逐个的学习了一 ...
- NFC应用于公交卡
NFC应用于公交卡https://www.cnblogs.com/liuzhaoyzz/p/7115098.html 带有NFC功能的安卓手机可以给实体公交卡充值,手机虚拟公交卡现在有两种方案,一种是 ...
- centos7 下安装Docker CE
前提条件 操作系统要求 要保证centos-extrasrepository开启(enabled).默认处于开启状态. 推荐使用overlay2存储驱动 卸载老版本 $ sudo yum remove ...
- 5.IAP - FLASH
一.Flash与时钟系统的关系 STM32系统时钟: HSE 高速外部时钟,电路上焊接的外部时钟,一般是4Mhz-16Mhz,板子上的是8Mhz ...
- 利用飞儿云PHP框架自带的DNSPOD库做DDNS动态域名解析
取得FiradioPHP git clone https://github.com/firadio/firadiophp.git 保存到/config/dnspod1.php <?php ret ...
- ftok()函数深度解析
[转载] 原文链接:https://blog.csdn.net/u013485792/article/details/50764224 关于ftok函数,先不去了解它的作用来先说说为什么要用它,共享内 ...
- Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication Overview Galera Cluster 由 Coders ...