使用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 ...
 
随机推荐
- JDBC | 第七章: JDBC数据库连接池使用
			
概述 数据库连接池是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个.那么其中的运行机制又是怎样的呢?今天主要介绍一下数据库连接池原理和常用的连接池. ...
 - Python采集CSDN博客排行榜数据
			
文章目录 前言 网络爬虫 搜索引擎 爬虫应用 谨防违法 爬虫实战 网页分析 编写代码 运行效果 反爬技术 前言 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知 ...
 - 02.Flink的单机wordcount、集群安装
			
一.单机安装 1.准备安装包 将源码编译出的安装包拷贝出来(编译请参照上一篇01.Flink笔记-编译.部署)或者在Flink官网下载bin包 2.配置 前置:jdk1.8+ 修改配置文件flink- ...
 - 高可用集群corosync+pacemaker之crmsh使用(二)
			
上一篇博客我们聊到了crmsh的安装以及配置一个资源到corosync+pacemaker高可用集群上的相关命令的用法,回顾请参考https://www.cnblogs.com/qiuhom-1874 ...
 - Unity中利用柏林噪声(perlinnoise)制作摇摆效果
			
perlinnoise是unity中Mathf下的一个函数,需要两个float参数x和y进行采样,返回一个0-1的float型. 项目里经常要随机摇摆某些东西,比如摄像机,某个随机运动的目标等等,都可 ...
 - Mono生命周期小实验
			
今天在写代码的时候,遇到一个初始化顺序问题,于是做了一个实验,下面记录结果: 情景: 1.在 脚本A中实例化 一个预制体,该预制体挂有脚本B 2.在 脚本A中,获取实例化物体 身上的 脚本B,并且设置 ...
 - Tiled and Unity
			
https://www.mapeditor.org https://assetstore.unity.com/packages/tools/integration/tiled-to-unity-172 ...
 - 单元测试框架 python
			
1.为什么要做单元测试 单元测试更细致.更有针对性 单元测试能测试到很多系统测试无法达到的测试 单元测试是在编码中做的测试,发现问题方便修改,而系统测试的问题修改成本可能变高 单元测试是自动化测试 2 ...
 - 题解 洛谷P3799 【妖梦拼木棒】
			
一道水题 (还是做了一个小时,我太菜了 基本思路: 题里面说,4根棍子拼成一个正三角形(等边三角形) 若设这四根棍子长度为\(a,b,c,d\)且\(a≥b>c≥d\) 那很容易得到 (真的很容 ...
 - 前端code导入excel
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...