有的时候因为我们需要将页面上的表格数据导出到Excel表。我们可以写一个导出的java接口。

这个接口先在服务器上写一份Excel文件,然后再写一份到用户这。至于为什么要现在服务器上先写一份,可能是为了备份啥的把。。。

这个接口需要的参数有:

1.查询需要导出的List数据的条件参数

2.HttpServletRequest

3.HttpServletResponse

下面是逻辑

String filename = new RandomGUID.getUUID32() + ".xls";
//在服务器上创建一个exportexcel文件夹(如果这个exportexcel文件夹不存在的话)
String dirpath = request.getSession().getServletContext().getRealPath("/") + "exportexcel";
File dir = new File(dirpath);
if(!dir.exists)dir.mkdirs();//如果目标文件夹不存在则创建新的文件夹
String fileuri = dirpath + File.separator + filename;
//假设我们已经通过接口的第一个参数获取到要导出的List数据了,这里暂定list
//设置表头
String btList[] = {"编号", "姓名", "年龄"};
//第一步,创建一个webbook,对应一个Excel文件
HSSWorkbook wb = new HSSWorkbook();
//第二步,在webook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet();
//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
//第四步,创建单元格,并设置表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//创建一个居中格式
for(short i = 0; i < (short) btList.length; i++){HSSFCell cell = row.createCell((short) i);cell.setCellValue(btList[i]);cell.setCellStyle(style);
}
//设置背景颜色
style.setFillBackGroundColor(Font.COLOR_NORMAL);
int j = 1;//记录行数
//下面遍历list,将数据写在每一列上
for(int i = 0; i < list.size(); i++){//创建一行HSSFRow datarow = sheet.createRow((int) j);//创建这行的一格HSSFCell cell0 = datarow.createCell(0);//将值写入这一格cell0.setCellValue(写表头里面第一个字段也就是编号的值);cell0.setCellStyle(style);//设置该单元格的格式//写这一行的其他格子同理...j++;
}
//将webbook的内容写入服务器那个文件里
FileOutputStream fout = new FileOutputStream(fileuri);
wb.write(fout);
fout.close();
/**到这里,数据已经导出到服务器上的fileuri路径下了**/
/**下面做的就是相当于把服务器上的文件下载下来**/
//设置下载的文件名字以及编码格式
String name = new String("信息.xls".getBytes("UTF-8"), "ISO-8859-1");
response.setHeader("Content-Disposition", "attachment:filename=" + name);
InputStream in = new FileInputStream(new File(fileuri));
OutputStream out = response.getOutputStream();
int b;
while((b = in.read() != -1){out.write(b);
}
in.close();
out.close();

将List导出到excel相关推荐

  1. java导出为excel文件_java导出数据到excel文件

    有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...

  2. ftl模板导出excel_freemarker导出复杂Excel

    原文: freemarker导出复杂Excel date: 2017-04-20 12:39:04 [TOC] 序言 用Freemarker做Excel导出确实很容易. 但是导出复杂Excel, 例如 ...

  3. Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...

  4. 将数据库查询结果导出成Excel表格

    使用Java代码,从数据库中获取结果集,将结果集导出成Excel表格形式. 从数据库中查询学生表所有数据,将其导出成Excel表格,点击查看学生表表结构 . package com.test.test ...

  5. 百度指数常见php框架,怎么导出数据到excel表格-如何将百度指数数据导出到Excel表格...

    如何将百度指数数据导出到Excel表格 第一步:打开CAD.CAD命令行输入"Li"."选择对象"选需要提取坐标的多段线.回车. 第二步:将CAD文本框中的数据 ...

  6. mysql excel 命令行_MySQL 命令行数据导出到 Excel

    显示行号 | 选择喜欢的代码风格 默认 GitHub Dune LakeSide Plateau Vibrant Blue Eighties Tranquil 将 MySQL 的数据导出 Excel, ...

  7. R语言将多个dataframe导出到excel的多个表单(sheet)实战

    R语言将多个dataframe导出到excel的多个表单(sheet)实战 目录 R语言将多个dataframe导出到excel的多个表单(sheet)实战

  8. R语言使用broom包将回归模型(线性回归、逻辑回归、比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集

    R语言使用broom包将回归模型(线性回归.逻辑回归.比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集 目录

  9. GridView 导出为Excel

    /// <summary>     /// GridView数据导出到Excel表     /// </summary>     /// <param name=&quo ...

  10. php怎么将表格导出到excel表格,php怎么将excel表格数据-php 怎么把数据导出到excel表格...

    如何使用php实现将数据从excel表导入到mysql中? /** * @param array $data //二维数组 不是对象 * @param string $filename //导件 */ ...

最新文章

  1. R语言ggplot2可视化分面图、在分面图中的每个直方图中添加均值文本标签、添加均值红色竖线
  2. “adb不是内部或外部命令,也不是可执行的应用程序”错误原因及解决方法
  3. mmz-asio4delphi死链接的解决办法
  4. Java内存溢出和内存泄露后怎么解决
  5. 2020 mse 清华_ICSMSE 2020
  6. 乙级(Basic Level) 1009 数字黑洞
  7. Actor-ES框架:Ray
  8. 【事件驱动】【数码管识别】(C++多线程实现多幅图像的同步识别)
  9. 乌班图运行perl脚本
  10. 分享一套基于HTML5的网络拓扑图组件 Qunee下载
  11. 安卓比IOS好的12个原因
  12. Audio:Android-TinyAlsa架构 Mixer API
  13. 关于二手房的Python数据分析
  14. cad多段线画圆弧方向_CAD多段线绘制技巧 - CAD自学网
  15. 魔兽争霸III 全图的制作
  16. 玩转群晖NAS——实现IPV6访问并部署动态域名解析程序(Golang)
  17. 微信小程序云开发教程-互联网软件产品开发流程和团队分工
  18. Android之ListView展示多类型的条目
  19. Matplotlib学习笔记(第一章)
  20. 聚焦云上安全,2021首届-西部云安全峰会将在西安召开

热门文章

  1. CUDA C++ Programming Guide( v11.2.0)部分翻译+笔记
  2. ps色相环制作方法二:渐变编辑器制作
  3. torch.conv2d 参数解析与 NumPy 复现
  4. eims系统新增一级目录菜单流程
  5. Python爬取各大外包网站需求
  6. Latex 数学公式换行 对齐
  7. 【Salesforce / LWC】LWC中使用第三方库开发 Use Third-Party JavaScript Libraries In LWC
  8. LeetCode 45.跳跃游戏② (超详细)
  9. 音视频:06.linux系统-IPC进程间通信
  10. 树莓派学习笔记——crontab定时运行脚本