POI导出Excel并下载
首先在pom.xml添加jar包:
<!-- 导出excel -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
导出Excel工具类:
public class ExcelUtil {
@SuppressWarnings("deprecation")
public static void excelUtil(HttpServletResponse response,String[] headers,
List<InsuranceDetailsVO> InsuranceDetailsVOs)
throws IOException{
//创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = new HSSFWorkbook();
//建立新的sheet对象(excel的表单)
HSSFSheet sheet = wb.createSheet("CSRExport");
//设置列宽
sheet.setColumnWidth(0, 20*256);
sheet.setColumnWidth(1, 25*256);
sheet.setColumnWidth(2, 24*256);
.....//生成一个样式
HSSFCellStyle style1 = wb.createCellStyle();
//字体设置
HSSFFont font = wb.createFont();
font.setFontName("仿宋_GB2312");
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
font.setFontHeightInPoints((short) 12);
// style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style1.setAlignment(CellStyle.ALIGN_CENTER);//水平居中
style1.setVerticalAlignment(CellStyle.VERTICAL_CENTER);//垂直居中
style1.setFont(font);
style1.setWrapText(true);
HSSFRow row1=sheet.createRow(0);
for (short i = 0; i < headers.length; i++) {
row1.createCell(i).setCellValue(headers[i]);
row1.getCell(i).setCellStyle(style1);
}
for (int i = 0; i < InsuranceDetailsVOs.size(); i++) {
HSSFRow row=sheet.createRow(i+1);
....这里是给每一行的每一列填充值
}
String fileName = "default.xls";
try {
fileName = "LD"+DateFormatUtils.getSystemDateByYYYYMMDD()+".xls";
} catch (ParseException e1) {
e1.printStackTrace();
}
//输出流
OutputStream os=null;
try {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename="+fileName);
// response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setContentType("application/octet-stream;charset=UTF-8"); //流输出
os = new BufferedOutputStream(response.getOutputStream());
wb.write(os);
} catch (Exception e) {
e.printStackTrace();
} finally{
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
POI导出Excel并下载的更多相关文章
- POI导出excel并下载(以流的形式在客户端下载,不保存文件在服务器上)
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; i ...
- Java poi 导出Excel并下载到客户端
Maven配置,包含了其他文件格式的依赖,就全贴出来了 <dependency> <groupId>org.apache.poi</groupId> <art ...
- POI导出EXCEL经典实现
1.Apache POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能. .NET的开发人员则 ...
- Java POI 导出EXCEL经典实现 Java导出Excel
转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...
- java中使用poi导出excel表格数据并且可以手动修改导出路径
在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下
- POI导出EXCEL经典实现(转)
http://www.cnblogs.com/xwdreamer/archive/2011/07/20/2296975.html 1.Apache POI简介 Apache POI是Apache软件基 ...
- Struts2使用POI创建Excel并下载
本文将讲解在Struts2框架下如何使用POI创建Office Excel文档并实现下载功能. Apache POI ,操作微软文档的Java API,简单来说就是可以用来操作Office文档的API ...
- poi导出excel数据量过大
问题:使用poi导出excel,数据量过大导致内存溢出 解决思路:1.多sheet导出 2.生成多个excel打包下载 3.生成csv下载 本文使用的是第二个思路,代码如下: poiUtil工具类 p ...
- Java之POI导出Excel(一):单sheet
相信在大部分的web项目中都会有导出导入Excel的需求,今天我们就来看看如何用Java代码去实现 用POI导出Excel表格. 一.pom引用 pom文件中,添加以下依赖 查看代码 <!-- ...
随机推荐
- C# - 多线程 之 Process与Thread与ThreadPool
Process 进程类, // 提供对本地和远程进程的访问,启动/停止本地系统进程 public class Process : Component { public int Id { get; } ...
- C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍
在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一印象,我们要规划好这些菜单的内容,布局等信息.根据微信菜单的定义,我们可以看到,一般菜单主要分为两种,一 ...
- 计算(LnN!)的值
import java.util.*;import java.math.*;public class CaculatorLnN { public static void main(String[] a ...
- SpringMVC类型转换器、属性编辑器
对于MVC框架,参数绑定一直觉得是很神奇很方便的一个东西,在参数绑定的过程中利用了属性编辑器.类型转换器 参数绑定流程 参数绑定:把请求中的数据,转化成指定类型的对象,交给处理请求的方法 请求进入到D ...
- PHP跨域form提交
因为安全性因素,直接跨域访问是不被允许的. 1.PHP CURL方式 function curlPost($url,$params) { $postData = ''; foreach($params ...
- CSS3 @font-face的使用
首先我们一起来看看@font-face的语法规则: @font-face { font-family: <YourWebFontName>; src: <source> [&l ...
- 使用AxisHelper帮助理解View and Data API中的坐标系统
大家使用View and Data API做三维模型开发,必然首先要理解View and Data API的坐标系统,即XYZ三个轴向分别是怎么定义的.Three.js里面提供了一个AxisHelpe ...
- YYStock开源----iOS股票K线绘制第二版
新的股票绘制粗来啦,欢迎围观star的说(*^__^*) 嘻嘻-- 捏合功能也准备完善了 Github:https://github.com/yate1996/YYStock 长按分时图+五档图 分时 ...
- 谨慎使用Sql server data tool 架构比对排除
现象:某个架构始终不能更新 VS中使用SSDT很方便,进行架构比对时,可以选择性的更新.但在排除操作上,要相当谨慎.往往排除的并不是一个差异项. 如下图,表或视图的差异,如果有多处,可以选 ...
- Mac利用PD虚拟机安装Centos7
一.PD虚拟机的安装1.Parallels Desktop ,简称PD,号称是Mac上最好用的虚拟机,具体的就在此不进行过多描述.下附Mac .app文件夹下载,下载后放入/Applications/ ...