Spring boot 导出Excel
Html页面: window.location.href="adjectfkController/exportTemplate?adjOrg="+ adjOrg +"&&adjDepart=" +adjDepart +"&&adjSubject="+adjSubject+"&&oaId="+oaId; @RequestMapping(value="/exportTemplate",method=RequestMethod.GET)
public void download(HttpServletResponse response,@RequestParam String adjOrg,@RequestParam String adjSubject,
@RequestParam String adjDepart,@RequestParam String oaId) throws IOException{
// 声明一个工作薄
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一个Excel表单,参数为sheet的名字
HSSFSheet sheet = workbook.createSheet("模板表");
//创建表头
setTitle(workbook, sheet);
List<Map<String, Object>> oalist = budgetAdjustService.getOainform(oaId); //数据行,并且设置单元格数据
HSSFRow hssfRow = sheet.createRow(1);
for(Map map :oalist) {
hssfRow.createCell(0).setCellValue(map.get("adjustType")+"");
hssfRow.createCell(1).setCellValue(map.get("applyDate")+"");
hssfRow.createCell(2).setCellValue(map.get("processCode")+"");
hssfRow.createCell(3).setCellValue(map.get("applyOrganization")+"");
hssfRow.createCell(4).setCellValue(map.get("applyDepartment")+"");
hssfRow.createCell(5).setCellValue(map.get("flag")+"");
}
hssfRow.createCell(6).setCellValue(adjOrg);
hssfRow.createCell(7).setCellValue(adjDepart);
hssfRow.createCell(8).setCellValue(adjSubject); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
String fileName = "Template -" + new Date().getTime() + ".xls";
//清空response
response.reset();
//设置response的Header
response.addHeader("Content-Disposition", "attachment;filename="+ fileName);
OutputStream os = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/vnd.ms-excel;charset=gb2312");
//将excel写入到输出流中
workbook.write(os);
os.flush();
os.close();
}
//设置Excel表头
private void setTitle(HSSFWorkbook workbook, HSSFSheet sheet){
HSSFRow row = sheet.createRow(0);
//设置列宽,setColumnWidth的第二个参数要乘以256,这个参数的单位是1/256个字符宽度
/* sheet.setColumnWidth(0, 0*256);
sheet.setColumnWidth(2, 20*256);*/
sheet.setColumnWidth(7, 60*256); //设置为居中加粗
HSSFCellStyle style = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setBold(true);
style.setFont(font);
//导出的Excel头部字段
String[] headers = { "调整类型", "申请日期", "OA流程编号", "申请组织","申请部门","申请科目","是否涉及人力成本",
"调出组织","调出部门","调出科目","调出月份","调出金额","调入组织","调入部门","调入科目","调入月份","调入金额","查询费控系统"};
// 设置表格默认列宽度为15个字节
sheet.setDefaultColumnWidth((short) 18);
for (short i = 0; i < headers.length; i++) {
HSSFCell cell = row.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
cell.setCellStyle(style);
}
}
Spring boot 导出Excel的更多相关文章
- Spring Boot 导出Excel表格
Spring Boot 导出Excel表格 添加支持 <!--添加导入/出表格依赖--> <dependency> <groupId>org.apache.poi& ...
- Spring Boot导出jar包发布
一:事由 现在的项目组开发项目使用的是Spring Boot的技术,开发的时候是直接通过一个入口主函数来启动项目的.如果将项目交给客户,怎样才能正确的发布运行呢?百度了一下有关的知识,大概了解到是通过 ...
- spring mvc 导出 excel
// js 触发导出 excel 方法 导出当前页的数据 含有条件查询的结果 // js 框架使用的 是 easyui function doExport(){ var optins = $(&quo ...
- Spring Boot 操作 Excel
Excel 在日常操作中经常使用到,Spring Boot 中使用 POI 操作 Excel 本项目源码 github 下载 1 新建 Spring Boot Maven 示例工程项目 注意:本示例是 ...
- spring boot缓存excel临时文件后再操作
1. 引入poi的两个依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi ...
- spring boot读取Excel
首先引入相关依赖 <!--解析office相关文件--> <dependency> <groupId>org.apache.poi</groupId> ...
- java spring boot 导出/下载文本文件操作(包含写文本文件)
内容简介 本文主要内容为使用java把内容写入文本文件,并实现下载/导出的功能. 实现步骤 1. controller层 @ResponseBody @RequestMapping(value = & ...
- spring boot 导出 jar 配置文件的问题
网上有很多关联映射及讲解,想要说的是 主要就是 classpath 加上的话 jar就可以找到了
- Spring Boot干货系列:(五)开发Web应用JSP篇
Spring Boot干货系列:(五)开发Web应用JSP篇 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 上一篇介绍了Spring Boot中使用Thymeleaf模板引擎,今天 ...
随机推荐
- Mac必备神器之Go2Shell
一.作用 可以快速在当前目录打开Shell命令行窗口 二.安装 1.打开官网 http://zipzapmac.com/go2shell 2.点击下载并安装 3.点击应用图标 三. ...
- 赵炯博士《Linux内核完全注释》
赵炯:男,1963年10月5日出生,江苏苏州人,汉族. 同济大学机械工程学院机械电子教研室副教授,从事教学和科研工作. 现在主要为硕士和博士研究生开设<计算机通信技术>.<计算机控制 ...
- day 7 -10 集合,文本、文件操作,函数
day7 一.回顾 1.列表和字典在循环里边尽量不要删除元素,很麻烦 2.元组:如果元组里边只有一个逗号,且不加逗号,次元素是什么类型,就是什么类型. 二.集合 ''' 集合:可变的数据类型,它里边的 ...
- locust 学习中
[转自]http://blog.51cto.com/youerning/2089930 前言 都说haproxy很牛x, 可是测试的结果实在是不算满意, 越测试越失望,无论是长连接还是并发, 但是测试 ...
- [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.
待解决 [Fiddler] ReadResponse() failed: The server did not return a complete response for this request. ...
- hdu-6437-最大费用流
Problem L.Videos Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- hdu-6397-容斥
Character Encoding Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Oth ...
- centos命令行系列之centos查看磁盘空间大小
df -h 扩展: 1.查看当前文件夹所有文件大小 du -sh 2.查看指定文件下所有文件大小 du -h /data/ 3.查看指定文件大小 du -h install.log 4.查指定文件夹大 ...
- Git:标签管理
1.创建标签 1.1切换需要打标签的分支 git checkout branch-name 1.2创建标签 git tag tag-name 1.3查看标签 git tag 1.4注意:打标签时默认在 ...
- Qt画笔实现折线图
参考:https://www.cnblogs.com/lsgxeva/p/7821550.html效果图: void BrokenLine::paintEvent(QPaintEvent *event ...