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);
}
}

最新文章

  1. Node.js:path、url、querystring模块
  2. spider RPC开发指南
  3. Android 大图片预览ViewPager
  4. Word 宏命令大全
  5. 全球SEO行业调查报告
  6. 获取本机外网ip和内网ip
  7. CentOS 7 安装 mariaDB
  8. HDU 1029 Ignatius and the Princess IV DP
  9. UVAlive2531 The K-League(最大流)
  10. Gridview将某列内容和标题隐藏起来
  11. windows internal读书笔记
  12. 一步一步实现基于Task的Promise库(三)waitFor方法的设计
  13. js实用方法记录-js动态加载css、js脚本文件
  14. [MySQL] 联合索引与using index condition
  15. 将Python脚本打包成可执行文件——转载
  16. Linux 双向 SSH 免密登录
  17. bbs项目实现点赞和评论的功能
  18. 灵活、可高度自定义的——Progress进度圈、弹窗、加载进度、小菊花
  19. python tkinter学习——布局
  20. [ios]cocos2dx获取设备的当前预言

热门文章

  1. C#调用EXE
  2. Sparksql的内置函数的使用以及案例
  3. java.lang.RuntimeException: Unable to start activity ComponentInfo……AppCompat does not support the current theme features
  4. java学习进度
  5. 使用VisualStudio进行脚本|样式文件压缩
  6. android -------- Android Studio调试运行时ADB not responding
  7. Oracle 基本操作--数据类型、修改和删除表、增删改查和复制表
  8. hdu-6333-莫队
  9. hdu 1025LIS思路同1257 二分求LIS
  10. Leetcode 860. 柠檬水找零