java poi生成excel(个人例子js-jsp-java)
js代码:
function exportRepQudl(){
if(confirm("导出输出页面内容?")){
var id = $("input[name='id']").val();
var lx = $("input[name='lx']").val();
var rq = $("input[name='rq']").val();
var url = __ctx+'/zjdlbb/zjdlbb/zjdlbb/exportExcelQudl.ht?id='+id+"&lx="+lx+"&rq="+rq;
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) {//判断是否IE浏览器
window.location.href(url);
}else{
window.open(url,"导出报表");
}
}
}
jsp代码:
<a class="myLinkA" id="exportRepQudl" onclick="exportRepQudl()"><span></span>导出</a>
java代码:
@RequestMapping({ "exportExcelQudl" })
@Action(description = "导出excel")
public void exportExcelQudl(HttpServletRequest request,
HttpServletResponse response) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 获取请求参数的各种处理
String lx = request.getParameter("lx");
String rq = request.getParameter("rq");
String rqTime = "";
if (StringUtil.isEmpty(rq)) {
rq = sdf.format(new Date());
rqTime = sdf.format(new Date()) + " 22:00:00";
} else {
rqTime = rq + " 22:00:00";
}
// 取得各种需要导出的数据
Map<String, String> mapXzz = new HashMap<String, String>();
mapXzz.put("rq", rq);
mapXzz.put("rqTime", rqTime);
List<Zjdlbbxzb> listXzz = zjdlbbxzbService.getQqdl(mapXzz);
// 第一步、设置文件名,类型+日期+后缀.xls
String fileName = lx + rq + ".xls";;
// 第二步,创建excel
HSSFWorkbook wb = new HSSFWorkbook();
// 第三步、创建excel sheet
HSSFSheet sheet = wb.createSheet();
// 第四步、设置数据
//添加行的指标
int flagIndex = 0;
// 第一行操作
HSSFRow row0 = sheet.createRow(flagIndex++);
row0.setHeightInPoints((short)20);
//添加合并区域(合并第三到第五列)
sheet.addMergedRegion(new CellRangeAddress(0,0,2,4));
HSSFCell titleCell = row0.createCell(2);
titleCell.setCellValue(""+rq);
//标题样式
HSSFCellStyle cellStyleTitle = wb.createCellStyle();
cellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short) 14);
cellStyleTitle.setFont(font);
titleCell.setCellStyle(cellStyleTitle);
//第二行操作
List<String> listTitle = zjdlbbService.getQutlTitle();
HSSFRow row1 = sheet.createRow(flagIndex++);
//样式
HSSFCellStyle cellStyle = ZjdlbbUtil.getHSSFCellStyle(wb);
for (int i = 0; i < listTitle.size(); i++) {
HSSFCell title = row1.createCell(i);
title.setCellValue(listTitle.get(i));
title.setCellStyle(cellStyle);
//设置每一列的宽度
sheet.setColumnWidth(i,5000);
}
// 其他行操作
for (int i = 0; i < listXzz.size(); i++) {
HSSFRow row = sheet.createRow(flagIndex++);
HSSFCell qy = row.createCell(0);
HSSFCell ygdl = row.createCell(1);
HSSFCell wgdl = row.createCell(2);
HSSFCell zgfh = row.createCell(3);
HSSFCell pjfh = row.createCell(4);
HSSFCell fhl = row.createCell(5);
HSSFCell glys = row.createCell(6);
Zjdlbbxzb entity = listXzz.get(i);
qy.setCellValue(entity.getLx()==null?"":entity.getLx());
ygdl.setCellValue(entity.getYgzdl()==null?0d:entity.getYgzdl());
wgdl.setCellValue(entity.getWgzdl()==null?0d:entity.getWgzdl());
zgfh.setCellValue(entity.getZgfh()==null?0d:entity.getZgfh());
pjfh.setCellValue(entity.getPjfh()==null?0d:entity.getPjfh());
fhl.setCellValue(entity.getFhl()==null?0d:entity.getFhl());
glys.setCellValue(entity.getGlys()==null?0d:entity.getGlys());
}
response.setContentType("application/octet-stream;charset=UTF-8");
response.setHeader("Content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename="
+ new String(fileName.getBytes("GB2312"), "8859_1"));
response.addHeader("Pargam", "no-cache");
response.addHeader("Cache-Control", "no-cache");
OutputStream out = response.getOutputStream();
wb.write(out);
out.flush();
out.close();
}
java poi生成excel(个人例子js-jsp-java)的更多相关文章
- java使用poi生成excel
使用poi生成excel通常包含一下几个步骤 创建一个工作簿 创建一个sheet 创建一个Row对象 创建一个cell对象(1个row+1个cell构成一个单元格) 设置单元格内容 设置单元格样式. ...
- 重构:以Java POI 导出EXCEL为例
重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的 ...
- 使用POI生成Excel报表
先把报表模板截图贴上来 下面是POI编写的报表生成类ExcelReport.java package com.jadyer.report; import java.io.FileNotFoundExc ...
- POI生成EXCEL文件
POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
- java POI创建Excel示例(xslx和xsl区别 )
Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...
- POI生成EXCEL,公式不自动执行的有关问题
POI生成EXCEL,公式不自动执行的问题 场景:POI读取Excel模板. 当使用POI操作Excel时,发现由POI生成的公式能够在打开Excel是被执行, 而事先手工写入Excel模板文件的公式 ...
- poi生成excel整理(设置边框/字体/颜色/加粗/居中/)
转: poi生成excel整理(设置边框/字体/颜色/加粗/居中/) 2016年12月02日 11:05:23 吃奶的牛 阅读数:34324 HSSFWorkbook wb = new HSSFW ...
- Java 利用 poi 生成 Excel文件的通用例子
在用java 写数据库应用的时候, 通常会生成各种报表,而这些报表可能会被导出为各种格式的文件,比如Excel文档,pdf 文档等等. 今天先做了一个生成Excel 文档的例子,主要解决以下问题: 生 ...
随机推荐
- JavaScript隐藏的坑一,隐式调用toString
最近在重新学习JavaScript,看动态原型对象的时候,打印了两个用同一个构造函数生成的对象,但是打印结果却不一样,请看代码: var box1=new Box(); console.log(box ...
- 【转载】Eclipse 的快捷键以及文档注释、多行注释的快捷键
一.多行注释快捷键 1.选中你要加注释的区域,用ctrl+shift+C 或者ctrl+/ 会加上//注释2.先把你要注释的东西选中,用shit+ctrl+/ 会加上/* */注释 3.以上快捷 ...
- [转]linux 调用动态库so文件
记录一个面试被问到的问题. extern 有什么用途? 除了多文件共享全局变量外还有呢? extern "C" 的功能? 我想看完这篇文章就可以知道第三个问题了. 关于动态调用动态 ...
- Unity3D Shader 内置函数
Intrinsic Functions (DirectX HLSL) The following table lists the intrinsic functions available in HL ...
- perl 读取一个文件 替换文件的关键词 把数据替换到新的文件
replace # replace #!/usr/bin/perl my @data = (); my ($fname ,$rp, $nfname)= @ARGV; my ($o, $n) = spl ...
- Centos下磁盘管理---分区
1.磁盘分区格式说明 linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a—z ...
- 洛谷试炼场-简单数学问题-P1403 [AHOI2005]-因数
洛谷试炼场-简单数学问题 P1403 [AHOI2005]约数研究 Description 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机"Samuel I ...
- [No0000A5]批处理常用命令大全&&21个DOS常用命令
1.Echo 命令打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法echo [{on|off}] [message]Sample: echo off e ...
- Flannel配置详解
1.简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机 ...
- php之函数
scope(空间) unpack (解压) Traversable (穿越) performance(性能) experiment (检验) properties (属性) trailing (尾随) ...