package com.test.util;
import java.util.List;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
* <操作excle公共类 service>
* <功能详细描述>
* @author * @version [版本号, 2012-5-9]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class ExportExcelUtil
{
/**
* <导出活跃告警信息>
* <功能详细描述>
* @param list
* @return
* @see [类、类#方法、类#成员]
*/
public XSSFWorkbook exportActive(List<ActiveAlarmInfo> list)
{
// 声明一个工作薄
XSSFWorkbook workBook = new XSSFWorkbook();
// 生成一个工作表
XSSFSheet sheet = workBook.createSheet();
//给sheet赋值
workBook.setSheetName(0, "active");
//生成一行
XSSFRow row = sheet.createRow(0);
//锁定0行一列
sheet.createFreezePane(0, 1);
//设置4列单元格宽度(根据创建的单元格多少来设定多少列)
for (int i = 0; i < 2; ++i)
{
sheet.setColumnWidth(i, 7200);
}
//给exlce表格头的字段赋值
cteateCell(row, 0, "标识");
cteateCell(row, 1, "名称");
//如果list不为空进行excle写入操作
if ((null != list) && (list.size() > 0))
{
int i = 0;
XSSFRow row2 = null;
//遍历list把结果写入excle表格
for (ActiveAlarmInfo active : list)
{
i++;
row2 = sheet.createRow(i);
cteateCell(row2, 0, active.getHnbID());
cteateCell(row2, 1, active.getHnbName());
}
}
return workBook;
}
/**
* <创建表格公共方法>
* <功能详细描述>
* @param row
* @param col
* @param value
* @see [类、类#方法、类#成员]
*/
private void cteateCell(XSSFRow row, int col, String value)
{
//创建单元格
XSSFCell cell = row.createCell(col);
//给单元格赋值
cell.setCellValue(value);
}
}
/**
* <活跃告警信息exlce导出 controller>
* <功能详细描述>
* @param request
* @param response
* @see [类、类#方法、类#成员]
*/
@RequestMapping("/exportActive")
public void exportActive(HttpServletRequest request, HttpServletResponse response, ActiveAlarmInfo active)
{
try
{
//取得request范围内的参数类型
String type = request.getParameter("type");
//获取用户权限
HttpSession session = request.getSession();
UserInfo user = (UserInfo)session.getAttribute("user");
String roleBank = user.getRoleRank();
List<ActiveAlarmInfo> activeList = null;
//设置excle表格的名称
response.setHeader("Content-disposition", "attachment; filename=exportAllActive.xlsx");
//获取数据
ActiveAlarmInfo actives = new ActiveAlarmInfo();
activeList = activeService.getAllActiveInfo(actives);
//定义输出流
OutputStream os = null;
ExportExcelUtil excle = new ExportExcelUtil();
//创建exlce表格类,调用导出方法
XSSFWorkbook workBook = excle.exportActive(activeList);
//写出文件
os = response.getOutputStream();
workBook.write(os);
}
catch (Exception e)
{
logger.error(Global.LOG_EXCEPTION_NAME, e);
}
}
分享到:
相关推荐
可以运行的POI导出Excel文件实例,里面有两种方法,一个是Servlet,一个是main
使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
Poi导出Excel工具类 支持大数据量 多sheet页方式 已经封装好,直接拿来调用里面的方法传入参数就行 很简单
一个POI导出Excel万级数据分页实现 解决内存溢出问题 完整的 project demo 有数据库dmp文件
poi导出excel demo,poi导出excel demo,poi导出excel demo,poi导出excel demo,poi导出excel demo,
POI导出Excel工具类,自动设置标题 列名 文件名,可插入图片,合并单元格
该实例集成maven开发环境,里面讲解了POI导入和导出Excel表格的基本用法
struts2中利用poi导出excel的简单例子
poi 导出EXCEL 例子 poi 导出EXCEL 例子poi 导出EXCEL 例子poi 导出EXCEL 例子
这个是java用poi操作Excel进行导出,并且可以自动换行
poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列
poi导出excel文档
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
poi导出excel需要的jar
JAVA POI导出EXCEL代码
POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
Java实现POI导出Excel 博文参考:http://blog.csdn.net/itmyhome1990/article/details/49818045
利用poi导出excel2007的时候出现内存溢出,当数据量过大,这种情况就更不容易控制了,这个文档就是解决这类问题,我就是用的这个,数据二十万都没溢出过,希望对大家有帮助。