Java Web利用POI导出Excel简单例子
Controller层代码如下
- @Controller
- public class StudentExportController{
- @Autowired
- private StudentExportService studentExportService;
- @RequestMapping(value = "/excel/export")
- public void exportExcel(HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- List<Student> list = new ArrayList<Student>();
- list.add(new Student(1000,"zhangsan","20"));
- list.add(new Student(1001,"lisi","23"));
- list.add(new Student(1002,"wangwu","25"));
- HSSFWorkbook wb = studentExportService.export(list);
- response.setContentType("application/vnd.ms-excel");
- response.setHeader("Content-disposition", "attachment;filename=student.xls");
- OutputStream ouputStream = response.getOutputStream();
- wb.write(ouputStream);
- ouputStream.flush();
- ouputStream.close();
- }
- }
Service层代码如下:
- @Service
- public class StudentExportService {
- String[] excelHeader = { "Sno", "Name", "Age"};
- public HSSFWorkbook export(List<Student> list) {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet sheet = wb.createSheet("Student");
- HSSFRow row = sheet.createRow((int) 0);
- HSSFCellStyle style = wb.createCellStyle();
- style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- for (int i = 0; i < excelHeader.length; i++) {
- HSSFCell cell = row.createCell(i);
- cell.setCellValue(excelHeader[i]);
- cell.setCellStyle(style);
- sheet.autoSizeColumn(i);
- // sheet.SetColumnWidth(i, 100 * 256);
- }
- for (int i = 0; i < list.size(); i++) {
- row = sheet.createRow(i + 1);
- Student student = list.get(i);
- row.createCell(0).setCellValue(student.getSno());
- row.createCell(1).setCellValue(student.getName());
- row.createCell(2).setCellValue(student.getAge());
- }
- return wb;
- }
- }
前台的js代码如下:
- <script>
- function exportExcel(){
- location.href="excel/export";
- <!--这里不能用ajax请求,ajax请求无法弹出下载保存对话框-->
- }
- </script>
Java Web利用POI导出Excel简单例子的更多相关文章
- java中使用poi导出excel表格数据并且可以手动修改导出路径
在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下
- struts2中利用POI导出Excel文档并下载
1.项目组负责人让我实现这个接口,因为以前做过类似的,中间并没有遇到什么太困难的事情.其他不说,先上代码: package com.tydic.eshop.action.feedback; impor ...
- 利用poi导出Excel
import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...
- java 通过Apache poi导出excel代码demo实例
package com.zuidaima.excel.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutput ...
- JAVAWeb SSH框架 利用POI 导出EXCEL,弹出保存框
导入包这一些不多说,直接贴出关键代码,JSP只要点一个Action链接就行. poi包我是用:poi-3.11-20141221.jar 亲测有效: 效果: Action 类代码: private I ...
- Java web项目JXl导出excel,(从eclipse上移动到tomact服务器上,之路径更改)
我用的是jxl导出excel,比较简单,最开始我是固定路径不能选择,很局限,后来改了,而且固定路径当把项目放在服务器上时,路径不可行. 在网上各位大神的帮助成功设置响应头,并且可选保存路径. 1.前端 ...
- java中使用 POI导出excel表格的简单实现
大概流程分7步: 1.创建工作簿 --> 2.创建sheet表 --> 3.创建row行(建议使用循环) --> 4.用row行逐一创建单元格(建议使用循环) --> 5.单元 ...
- java web利用mvc结构实现简单聊天室功能
简单聊天室采用各种内部对象不适用数据库实现. 一个聊天室要实现的基本功能是: 1.用户登录进入聊天室, 2.用户发言 3.用户可以看见别人发言 刚才算是简单的需求分析了,现在就应该是进 ...
- Spring Boot利用poi导出Excel
至于poi的用法就不多说了,网上多得很,但是发现spring boot结合poi的就不多了,而且大多也有各种各样的问题. public class ExcelData implements Seria ...
随机推荐
- 浅谈iOS中的单例模式
iOS中的单例模式 就我本身理解而言,我认为的单例:单例在整个工程中,就相当于一个全局变量,就是不论在哪里需要用到这个类的实例变量,都可以通过单例方法来取得,而且一旦你创建了一个单例类,不论你 ...
- bsearch的溢出问题
在java中为了避免 low+high溢出,可以用无符号右移:正数高位补0,负数高位补1 int mid = (low + high) >>> 1; 如果是在c++中,那么需要先转换 ...
- MySQL数据库初识(二)
8. 向数据表中插入数据记录(INSERT): 向数据表中插入数据记录有两种方法: 基本语法1:INSERT INTO 数据表 (字段名1,字段名2,字段名3……字段名n) VALUES (数据值1, ...
- html页面通过特殊链接:打电话,发短信,发邮件详细教程
采用url href链接的方式,实现在Safari ios,Android 浏览器,webos浏览器,塞班浏览器,IE,Operamini等主流浏览器,进行拨打电话功能. 1. 拨打电话 在电话号码 ...
- Provides PHP completions for Sublime Text
来源:https://packagecontrol.io/packages/PHP%20Completions%20Kit php-completions php-completions plugin ...
- 开启mysql慢查询
Linux查看mysql 安装路径一.查看文件安装路径由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址).这里以mysql为例.比如说我安装了mysql,但是不知道文件都安装在哪些 ...
- Python开发之【用户登录锁定】
用户登录验证,输入密码错误三次,锁定此用户. 将用户信息存入文件 文件内容格式如下: {','login_flag':True} {','login_flag':True} {','login_fla ...
- Excel demo in SSIS
需求如下,把异常数据从sqlserver数据库中取出来,然后导入到xls中去,然后再发邮件给用户,把xls作为附件发送. 需要的示例数据表: /* create table abnormaldata( ...
- Rem实现自适应初体验
第一次做移动端的页面,遇到的第一个问题就是移动端的轮播图.其实轮播图的插件有很多,但是完全满足需求的并不容易找. 需求: 1.实现基本的触屏轮播图效果 2.传入非标准比例的图片,可以自动平铺(有时候图 ...
- 关于CSS中的字体尺寸设置 em rem等
常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的 ...