使用SSM框架实现Sql数据导出成Excel表
SSM框架实现SQL数据导出Excel
思路
- 首先在前端页面中添加一个导出功能的button,然后与后端controller进行交互。
- 接着在相应的controller中编写导出功能方法。
- 方法体:
- 在方法参数中添加 HttpServletResponse服务器响应对象,在抛出一个异常类 IOException 。
- 接着创建Excel文件、sheet页、标题行。
- 然后获取需要下载表对应的pojo类遍历的list对象。
- 最后设置下载时客户端保存的Excel文件名称。
代码
这里以名称为home的数据表和pojo为例
public class ExcelController {
@Autowired
HomeServiceImpl homeService;
@RequestMapping("/home")
public void excel_home(HttpServletResponse response )throws IOException {
//设置字符集
response.setCharacterEncoding("UTF-8");
List<Home> homeList=homeService.queryAllHome();
//创建excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//创建sheet页
HSSFSheet sheet = wb.createSheet("房间信息");
//创建标题行
HSSFRow titleRow = sheet.createRow(0);
titleRow.createCell(0).setCellValue("编号");
titleRow.createCell(1).setCellValue("房间号");
titleRow.createCell(2).setCellValue("房间类型");
titleRow.createCell(3).setCellValue("价格");
titleRow.createCell(4).setCellValue("状态");
titleRow.createCell(5).setCellValue("描述");
//获取需要下载表对应的pojo类
for(Home home:homeList){
HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum()+1);
dataRow.createCell(0).setCellValue(home.getId());
dataRow.createCell(1).setCellValue(home.getNum());
dataRow.createCell(2).setCellValue(home.getH_Type());
dataRow.createCell(3).setCellValue(home.getPrice());
dataRow.createCell(4).setCellValue(home.getState());
dataRow.createCell(5).setCellValue(home.getText());
}
// 设置下载时客户端Excel的名称
response.setContentType("application/octet-stream;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename="
+ new String("房间信息表".getBytes(),"iso-8859-1") + ".xls");
//创建一个流
OutputStream ouputStream = response.getOutputStream();
//写入数据
wb.write(ouputStream);
ouputStream.flush();
//关闭流
ouputStream.close();
}
使用SSM框架实现Sql数据导出成Excel表的更多相关文章
- 将数据导出成excel表
/// <summary> /// 生成excel表 /// </summary> /// <param name="dt">数据表</p ...
- Pl/sql 如何将oracle的表数据导出成excel文件?
oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...
- Extjs — Grid数据导出成Excel
最近因为项目问题,需要解决Extjs导出成Excel的问题. 下面简单描述这个问题解决的步骤如下: 1.先在js文件里写了一个button的handler事件,通过点击按钮,来实现调用ExportEx ...
- jquery.table2excel,将HTML的table标签数据导出成excel
<!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...
- Python 把数据库的数据导出到excel表
import io,xlwt def export_excel(request): """导出数据到excel表""" list_obj = ...
- vue项目中的elementUI的table组件导出成excel表
1.安装依赖:npm install --save xlsx file-saver 2.在放置需要导出功能的组件中引入 import FileSaver from 'file-saver' impor ...
- 有趣的Node爬虫,数据导出成Excel
最近一直没更新了诶,因为学习Backbone好头痛,别问我为什么不继续AngularJs~因为2.0要出来了啊,妈蛋!好,言归正传,最近帮我的好基友扒数据,他说要一些股票债券的数据.我一听,那不就是要 ...
- java数据导出成 EXCEL
/** * * @param out 输出流 * @param maplist 数据 * @param title 标题 * @param headers 表头 * @param keys 表头对应的 ...
- 将DataTable中的数据导出成Excel
public bool ExportFile(System.Data.DataTable dt){ SaveFileDialog sfd = new SaveFileDialog(); s ...
随机推荐
- 修改linux操作系统的时间可以使用date指令 运维系统工程师必会技术
修改linux的时间可以使用date指令 修改日期: 时间设定成2009年5月10日的命令如下: date -s 05/10/2009 修改时间: 将系统时间设定成上午10点18分0秒的命令如下. d ...
- 【HttpRunner v3.x】笔记—8.运行testcase的几种方式
在之前的demo过程中,已经运行过testcase了,那这篇就也来汇总一下,运行case相关的知识点. 一.运行testcase的几种场景 1. 运行单个case 通常单个case的话我会在编辑器里用 ...
- 深入了解Netty【四】IO模型
引言 IO模型就是操作数据输入输出的方式,在Linux系统中有5大IO模型:阻塞式IO模型.非阻塞式IO模型.IO复用模型.信号驱动式IO模型.异步IO模型. 因为学习Netty必不可少的要了解IO多 ...
- ASP.NET Uploadify 上传文件过大 报错(http error)借鉴,以防忘记
Uploadify上传文件原来很早之前用过,没发现什么问题.今天再使用过程中,当文件大于30M的时候就会报错404.查看错误消息提示配置最大上传太小了.需要修改. 记得原来配置上传文件大小在这里:&l ...
- 为什么 char 数组比 String 更适合存储密码?
推荐阅读:5 个刁钻的 String 面试题! 另一个基于 String 的棘手 Java 问题,相信我只有很少的 Java 程序员可以正确回答这个问题. 这是一个真正艰难的核心 Java 面试问题, ...
- shell中列表的定义与循环
字符串列表定义方法1: a=(f1 f2 f3 f4) for i in ${a[*]}#遍历每一个列表值 for i in ${a[@]}#遍历每一个列表值 实例: #!bin/basha=(f1 ...
- GET请求和POST请求的request和response的中文乱码问题
GET请求(request)中文乱码解决方案: 在Services的server.xml的配置文件的第一个Connector标签中添加属性URIEncoding="UTF-8" P ...
- leetcode刷题-47全排列2
题目 给定一个可包含重复数字的序列,返回所有不重复的全排列. 思路 其思路与46题完全一致,但是需要与组合总和2题一般,在同一层取出重复元素.因此可以在每一层设置一个set()类型,将访问过的元素放入 ...
- dom:文档对象模型,提供的api去操作页面上的元素
dom对象通过html标签转义成了文档操作对象
- NGINX 负载均衡的理解
前言 NGINX是轻量级,也是当前比较流行的web服务器软件.体积小但是功能强大. 这里我按照自己的理解,记录下对NGINX负载均衡的认识.(加权均衡,最小连接) 这里参考了 [https://blo ...