SSM框架实现SQL数据导出Excel

思路

  1. 首先在前端页面中添加一个导出功能的button,然后与后端controller进行交互。
  2. 接着在相应的controller中编写导出功能方法。
  3. 方法体:
    • 在方法参数中添加 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表的更多相关文章

  1. 将数据导出成excel表

    /// <summary> /// 生成excel表 /// </summary> /// <param name="dt">数据表</p ...

  2. Pl/sql 如何将oracle的表数据导出成excel文件?

    oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...

  3. Extjs — Grid数据导出成Excel

    最近因为项目问题,需要解决Extjs导出成Excel的问题. 下面简单描述这个问题解决的步骤如下: 1.先在js文件里写了一个button的handler事件,通过点击按钮,来实现调用ExportEx ...

  4. jquery.table2excel,将HTML的table标签数据导出成excel

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...

  5. Python 把数据库的数据导出到excel表

    import io,xlwt def export_excel(request): """导出数据到excel表""" list_obj = ...

  6. vue项目中的elementUI的table组件导出成excel表

    1.安装依赖:npm install --save xlsx file-saver 2.在放置需要导出功能的组件中引入 import FileSaver from 'file-saver' impor ...

  7. 有趣的Node爬虫,数据导出成Excel

    最近一直没更新了诶,因为学习Backbone好头痛,别问我为什么不继续AngularJs~因为2.0要出来了啊,妈蛋!好,言归正传,最近帮我的好基友扒数据,他说要一些股票债券的数据.我一听,那不就是要 ...

  8. java数据导出成 EXCEL

    /** * * @param out 输出流 * @param maplist 数据 * @param title 标题 * @param headers 表头 * @param keys 表头对应的 ...

  9. 将DataTable中的数据导出成Excel

    public bool ExportFile(System.Data.DataTable dt){    SaveFileDialog sfd = new SaveFileDialog();    s ...

随机推荐

  1. 力扣Leetcode 3. 无重复字符的最长子串

    无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串 ...

  2. php利用快递100接口获取物流信息

    PHP使用CURL调用快递100接口查询运单信息 类代码如下: <?php/** * 快递100接口调用类 * @author 齐云海 * date: 2019/05/29 */ class E ...

  3. Fitness - 07.07

    倒计时177天 运动53分钟,共计8组半,5.5公里.拉伸5分钟. 每组跑步5分钟(6.5KM/h),走路1分钟(5.5KM/h). 感冒+姨妈耽搁了大半月的时间 终于进入第六周的训练了~~!加油~! ...

  4. TinkPHP5.1开发注意事项

    1.新下载的框架文件,开发前先开启调试配置 config目录下app.php文件 // 应用调试模式 'app_debug'              => true, 2.每新建一个方法,都要 ...

  5. uni-app 修改富文本信息中的图片样式

    var richtext= res.data.data.richtext; const regex = new RegExp('<img', 'gi'); richtext= richtext. ...

  6. vue3.0 加载json的“另类”方法(非ajax)

    问题 加载json一定要用ajax的方式吗? 最近学习vue3.0,在实现一个功能的时候发现一个问题-- 写代码的时候,需要的json太长.太多,和代码放在一起太混乱.看代码总有翻来翻去,又没有&qu ...

  7. C#的TextBox的四种禁止编辑方法

    前言 一般而言,Textbox中有两个属性可以对其进行防止编辑的设定,这是最基础的知识,也是我要提出的前两种方法.而后两种方法实际为一种,但可以应用于不同环境中. 一.ReadOnly属性 这样设置, ...

  8. Django总结(Django十一)

    总结一下自己在完成毕设时写的Django博客: Django的初步启动 pycharm+Django启动我的第一个页面 Django+bootstrap启动登录模板页面 Django中 < a ...

  9. Java 合并、拆分PPT幻灯片

    序 在日常使用PPT时,为了便于操作和管理文档,时常会遇到需要将PPT幻灯片进行合并或拆分的情况.本文将通过Java程序来演示如何进行上述操作. 示例要点: 1. 合并PPT幻灯片 1.1 将第一个P ...

  10. xss的变形--如何绕过xss过滤

    我们可以通过构造xss代码进行各种变形,以绕过xss过滤器的检测 1.大小写检测 将payload进行大小写转化 如<Img SRC='#'  Onerror="alert(/xss/ ...