poi导出excel2007版本
/**
* 导出excel2007版本
*
* @param titles
* 表头集合
* @param sheetNames
* sheet名称
* @param datas
* 数据集合
* @param fileName
* 文件名字
* @param response
* 输出流
* @return String
*/
public static String exportExcel07(List<List<String>> titles, List<String> sheetNames, List<List<List<String>>> datas,
String fileName, HttpServletResponse response) { SXSSFWorkbook wb = new SXSSFWorkbook();
CellStyle style = POIUtils.getCellStyleFont(wb, null);
DataFormat format = wb.createDataFormat();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setDataFormat(format.getFormat("@"));
for (int i = 0; i < titles.size(); i++) {
List<String> title = titles.get(i); Sheet sheet = wb.createSheet(sheetNames.get(i)); Row row = sheet.createRow((int) 0); for (int j = 0; j < title.size(); j++) {
Cell cell = row.createCell(j);
cell.setCellStyle(style);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(title.get(j));
}
int size = datas.size();
if(size>0){
List<List<String>> data = datas.get(i);
int k = 1;
for (int j = 0; j < data.size(); j++) {
row = sheet.getRow(k + j);
if (null == row) {
row = sheet.createRow(k + j);
} List<String> data_ = data.get(j); for (int l = 0; l < data_.size(); l++) {
Cell cell = row.createCell(l); cell.setCellStyle(style);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(data_.get(l));
}
}
}
} try {
//response.setContentType("application/octet-stream;charset=ISO8859-1");
response.reset();
// response.setContentType("application/vnd.ms-excel;charset=ISO8859-1");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition",
"attachment;filename=" + new String(fileName.getBytes("GBK"), "iso8859-1"));
response.addHeader("Pargam", "no-cache");
response.addHeader("Cache-Control", "no-cache");
try {
OutputStream os = response.getOutputStream();
wb.write(os);
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
poi导出excel2007版本的更多相关文章
- NPOI 导出Excel2007版本时出现流已关闭问题
NPOI生产.xlsx文件件时,在使用book.Write(ms);后,会关闭流,这样导致再次使用Respons输出流的时候就出错了. 我看到一些网友提供的解决办法是: public class NP ...
- 23.POI导出
POI导出 XSSFWorkbook 对应Excel2007版本及以上 HSSFWorkbook 对应Excel2003版本 还要注意一点,不要用Swagger-ui测试导出的表格,这样的表格文件都是 ...
- 使用POI导出EXCEL工具类并解决导出数据量大的问题
POI导出工具类 工作中常常会遇到一些图表需要导出的功能,在这里自己写了一个工具类方便以后使用(使用POI实现). 项目依赖 <dependency> <groupId>org ...
- Poi导出Excle
场景 准备金系统需要从数据库读取大量数据存放到List集合中(可能还会做逻辑上的处理),并生成一个Excle文件,下载到客户本地. 问题一:客户体验 如果导出的文件比较大,比如几十万条数据,同步导出页 ...
- POI导出EXCEL经典实现
1.Apache POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开发人员则 ...
- POI导出数据内存溢出问题
POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果也不是太好.3.8版本的POI新出来了SXSSFWorkbook,可以支持大数据量的操作,只是SXSSFWo ...
- Java POI 导出EXCEL经典实现 Java导出Excel
转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...
- POI导出Excel(xls、xlsx均可以,也支持图片)——(三)
Jar包
- POI导出EXCEL经典实现(转)
http://www.cnblogs.com/xwdreamer/archive/2011/07/20/2296975.html 1.Apache POI简介 Apache POI是Apache软件基 ...
随机推荐
- Vue外卖的学习之路
用Vue打造外卖项目 一.项目前整理思绪 (1)项目所需的技术栈 (2)项目分布 (3)整体项目文件介绍
- 循环双端链表(python)
# -*- coding: utf-8 -*- class Node(object): __slots__ = ('value', 'prev', 'next') # save memory def ...
- mybatis3.1-[topic-16-17]-映射文件_增删改查_insert_获取自增主键的值
笔记要点出错分析与总结 /**测试第16章的增,删,改 的内容 * 错误1: <insert id="addEmp" parameterType="com.bean ...
- 云计算(5)---MapReduce
什么是MapReduce 例如用MapReduce如何计算12+22+32+42 用MapReduce执行Wordcount 步骤1:Map map task1 和map task2是独立,并行进行 ...
- GBDT算法梳理
1.GBDT(Gradient Boosting Decision Tree)思想 Boosting : 给定初始训练数据,由此训练出第一个基学习器: 根据基学习器的表现对样本进行调整,在之前学习器做 ...
- 如何利用Wireshark解密SSL和TLS流量
如何利用Wireshark解密SSL和TLS流量https://support.citrix.com/article/CTX135121 1.有server端的private key,直接在wires ...
- linux系列(二十二):tar命令
1.命令格式 tar[必要参数][选择参数][文件] 2.命令功能 用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的 3.命令参数 必要参数: -A 新增压缩文件到已存在的压缩 - ...
- AtCoder Grand Contest 001 题解
传送门 \(A\) 咕咕咕 const int N=505; int a[N],n,res; int main(){ scanf("%d",&n); fp(i,1,n< ...
- vue学习--vue项目端口不固定,无法指定问题
写于20190819 前面是自己解决的思路,后面是解决方法以及需要记住的一些更改 package.json 之前只知道vue项目是基于node.js,对node.js了解不是很深入,项目的开始文件是p ...
- JavaScript 判断是否为空
// var a = ""; // var a = " "; // var a = null; // var a = undefined; // var a = ...