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 文档的例子,主要解决以下问题: 生 ...
随机推荐
- POJ 2018 Best Cow Fences(二分+最大连续子段和)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14601 Accepted: 4720 Desc ...
- modbus调试工具
1,简介 网站地址:http://www.modbustools.com/ 该网站提供了几个软件工具,可以运行于windows 2000/XP/Vista/7环境下,用来测试和仿真Modebus设备. ...
- Spark2 Model selection and tuning 模型选择与调优
Model selection模型选择 ML中的一个重要任务是模型选择,或使用数据为给定任务找到最佳的模型或参数. 这也称为调优. 可以对诸如Logistic回归的单独Estimators进行调整,或 ...
- 字符集和编码——Unicode(UTF&UCS)深度历险
计算机网络诞生后,大家慢慢地发现一个问题:一个字节放不下一个字符了!因为需要交流,本地化的文字需要能够被支持. 最初的字符集使用7bit来存储字符,因为那时只需要存下一些英文字母和符号.后来虽然扩展到 ...
- Lucene.net(4.8.0) 学习问题记录一:分词器Analyzer的构造和内部成员ReuseStategy
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
- ubuntu汉化
寻找 Simplified Chinese,点击下面的apply 回到这里在最下面找到刚刚安装的语言,是灰色的,左键点击,将它拖到最上面,点击应用到整个系统,配置完成.重启系统就变成中文了. 晚上不要 ...
- [No0000C9]神秘的掐指一算是什么?教教你也会
很多朋友看到传说中诸葛亮以及那些聪明人掐指一算,惊叹不已.那些人以“察天地之理.通鬼神之志”,每次占卜时,做一大堆的神秘仪式,然后掐指一算,便大有“乾坤尽收在手”的感觉.在普通人眼里,他们的手神秘异常 ...
- Java NIO 读取文件、写入文件、读取写入混合
前言 Java NIO(new/inputstream outputstream)使用通道.缓冲来操作流,所以要深刻理解这些概念,尤其是,缓冲中的数据结构(当前位置(position).限制(limi ...
- 【每日一题】 UVA - 1599 Ideal Path 字典序最短路
题解:给一个1e5个点2e5条边,每个边有一个值,让你输出一条从1到n边的路径使得:条数最短的前提下字典序最小. 题解:bfs一次找最短路(因为权值都是1,不用dijkstra),再bfs一次存一下路 ...
- day7:set和深浅copy
1,判断字符串是不是空格isspace函数 s1 = ' ' s2 = ' ssss' print(s1.isspace()) print(s2.isspace()) 运行结果: True False ...