public void createExportExcel(Object obj,List list,List<ExportManager> exportList,String sheetName,
String objectFlag, HttpServletResponse response) throws ParameterErrorException {
HSSFWorkbook workbook = null;
try {
workbook = new HSSFWorkbook();//创建工作薄
HSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(0, sheetName );
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
HSSFCellStyle cellStyle = workbook.createCellStyle();//创建格式
cellStyle.setFont(font);
HSSFRow row = sheet.createRow((short) 0); //第一行 表头
for(short i = 0;i < exportList.size();i++){
HSSFCell cell = row.createCell((short) i); //创建第1行单元格
cell.setCellValue(exportList.get(i).getDisplayName());
cell.setCellStyle(cellStyle);
}
//第二行开始是数据
List<List<Object>> allContentList = getAllContentList(obj,list, exportList,objectFlag);
for(int i=1;i<allContentList.size()+1;i++){
HSSFRow rowdata = sheet.createRow((short) i);
for (int j = 0; j < exportList.size(); j++) {
HSSFCell celldata = rowdata.createCell((short) j); // 在上面行索引0的位置创建单元格
celldata.setCellType(HSSFCell.CELL_TYPE_STRING); // 定义单元格为字符串类型
celldata.setCellValue(allContentList.get(i-1).get(j)+ ""); // 在单元格中输入一些内容
}
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
String fullDateStr = simpleDateFormat.format(new Date());
response.setContentType("application/vnd.ms-excel;charset=utf-8");
// 表示以附件的形式把文件发送到客户端
response.setHeader("Content-Disposition", "attachment;filename="
+ new String((sheetName+fullDateStr+".xls").getBytes(), "ISO8859-1"));
// 通过response的输出流把工作薄的流发送浏览器形成文件
OutputStream os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (Exception e) {
throw new ParameterErrorException("导出excel失败,原因:"+e.getMessage());
}
}
/**
*
* @throws ParameterErrorException
* @Method_Name getAllContentList
* @Description 拼装所有的导出内容
* @@param list
* @@param tableHeaderArray
* @Return List<List<String>>
* @Author zhuangjinlei
* @CreateDate 2010-4-1
* @LastUpdateDate 2010-4-1,Administrator
*/
public List<List<Object>> getAllContentList(Object obj,List<Object> list,List<ExportManager> exportList,String objectFlag) throws ParameterErrorException{
List<List<Object>> allContentList = new ArrayList<List<Object>>();
Map<String, Object> map = null;
if (objectFlag.equals("dayYield")) {
for (int i = 0; i < list.size(); i++) {
map = ServiceSearchTemplate.getInstance().getDayYieldSearch((YieldManager)list.get(i));
allContentList.add(getSingleRowContentListCommPart(map, exportList));
}
}
return allContentList;
}
/**
* 组装单行导出记录
*/
public List<Object> getSingleRowContentListCommPart(Map<String, Object> map,List<ExportManager> exportList){
List<Object> singleRowContentList = new ArrayList<Object>();
for (int j = 0; j < exportList.size(); j++) {
singleRowContentList.add(map.get(exportList.get(j).getHeader().trim().toUpperCase()));
}
return singleRowContentList;
}
分享到:
相关推荐
POI报表导出excel文件,POI包为3.6版本。里面导出的方法及设置样、合并单元格,合并多表头均有比较清晰的注释。希望对大家有用。
用于导入导出Excel,方便好用 支持动态用流写至客户端
使用poi方式导出excel,支持将多个工作簿合成一个Excel进行导出
详解JAVA_POI导出EXCEL报表的操作(包括各种格式及样式的实现),最全面的JAVA_POI导出EXCEL报表操作。
可以运行的POI导出Excel文件实例,里面有两种方法,一个是Servlet,一个是main
poi导入导出excel生成报表
struts2中利用poi导出excel的简单例子
使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用
Poi导出Excel工具类 支持大数据量 多sheet页方式 已经封装好,直接拿来调用里面的方法传入参数就行 很简单
poi基于模板导出excel,poi基于模板导出excelpoi,基于模板导出excel
ExportExcel类为导出Excel报表通用类。 1.将源代码导入eclipse中 2.部署项目,启动tomcat服务器 3.web页面具体路径:http://localhost:80/poi 4.点击Read excel 2003 or 2007,可以读取2003或2007版Excel 5.点击...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
poi导出excel demo,poi导出excel demo,poi导出excel demo,poi导出excel demo,poi导出excel demo,
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操作poi2007导出excel数据,解决内存溢出问题
一个POI导出Excel万级数据分页实现 解决内存溢出问题 完整的 project demo 有数据库dmp文件
poi导入导出Excel表格的所用jar包,包括poi-3.8-20120326 等jar包
java,poi方式解析导出excel需要使用的三个jar包。
利用纯struts2.0+poi插件 实现导出excel
文件包含了 1.POI导入导出的工具类; 2.图片URL导出成图片文件; 3.导出excel和图片压缩包格式文件。 如果下载后有任何问题,可以联系我哦!