POI生成Excel及下载
2015-10-12 10:08
344 查看
输出excle到指定目录
把数据写到excel文件输出到指定路径后可以用于测试,查看自己生成的workbook内容是否正确。
window.open(url, 'download'); //导出
下载excel
poi生成excel,
参考:http://www.yiibai.com/apache_poi/apache_poi_cells.html
参考:http://www.cnblogs.com/jyh317/p/3817171.html
HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet currSheet = workbook.createSheet("CommonQueryData"); HSSFRow row=currSheet.createRow(1); HSSFCell cell= row.createCell(0); cell.setCellValue("1"); FileOutputStream outputStream= new FileOutputStream("d://abc.xls"); workbook.write(outputStream); outputStream.flush(); outputStream.close(); //把workbook的内容输出到指定文件
把数据写到excel文件输出到指定路径后可以用于测试,查看自己生成的workbook内容是否正确。
window.open(url, 'download'); //导出
下载excel
public static void createExcelFileCommonQuery(List<Map<String, Object>> resultList, HttpServletResponse response, Map<String, String> columnsMap,Map<String, String> paramMap ) throws BusinessException{ HSSFWorkbook workbook = createExcelCommonQuery(resultList,columnsMap); response.setCharacterEncoding("UTF-8"); response.setContentType("application/vnd.ms-excel"); OutputStream os=null; String fileName=paramMap.get("fileName"); response.setHeader("Content-disposition","attachment; filename=" + URLEncoder.encode(fileName,"UTF-8")); os = response.getOutputStream(); workbook.write(os); os.flush(); os.close(); }
poi生成excel,
/**** * 通用查询导出 * @param resultList */ private static HSSFWorkbook createExcelCommonQuery(List<Map<String, Object>> excelList,Map<String,String> columnsMap){ /** columnsMap: key value name 姓名(表格第一行标题行) sex 男 addr 住址 **/ HSSFWorkbook workbook = new HSSFWorkbook(); CellStyle styleboder = workbook.createCellStyle(); CellStyle titlestyle = workbook.createCellStyle(); //设置边框 styleboder.setBorderLeft(HSSFCellStyle.BORDER_THIN); styleboder.setBorderRight(HSSFCellStyle.BORDER_THIN); styleboder.setBorderTop(HSSFCellStyle.BORDER_THIN); styleboder.setBorderBottom(HSSFCellStyle.BORDER_THIN); HSSFSheet currSheet = workbook.createSheet("CommonQueryData"); //改变背景色 titlestyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); titlestyle.setFillForegroundColor((short)43); titlestyle.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex()); titlestyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titlestyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titlestyle.setBorderTop(HSSFCellStyle.BORDER_THIN); titlestyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //改变背景色 for(int i=0; i<excelList.size()+1;i++){ HSSFRow row = currSheet.createRow(i); Map<String, Object> item=new HashMap<String, Object>(); if(i==0){ item = excelList.get(i); }else{ item = excelList.get(i-1); } int j=0; for(Iterator<String> iter = item.keySet().iterator();iter.hasNext();){ String key = iter.next(); Object value = item.get(key); //判断columnsMap是否包含属性字段 boolean isExist = columnsMap.containsKey(key); if(isExist){ HSSFCell cell = row.createCell(j++); if(i==0){ /**标题**/ //写标题行 cell.setCellValue(columnsMap.get(key)); cell.setCellStyle(titlestyle); }else{ //写内容行 cell.setCellStyle(styleboder); cell.setCellValue(null == value ? "" : value.toString()); } } } } return workbook; }
参考:http://www.yiibai.com/apache_poi/apache_poi_cells.html
参考:http://www.cnblogs.com/jyh317/p/3817171.html
相关文章推荐
- Android MD5加签源代码算法
- vector和string优先于动态数组的分配
- Linux 技巧:让进程在后台可靠运行的几种方法
- 拷贝构造函数 与拷贝复制函数
- 【Unity】UnityEditor.UI.dll timestamps but is not known in guidmapper...
- MongoDB mapReduce操作
- http://ryewhisky.itpub.net/post/28330/298289
- monkeyrunner功能函数
- nmon的安装与使用
- ZOJ 3908 Number Game
- 《编程珠玑》2.3 将一个n元一维向量左旋转i个位置
- android 自定义按钮,点击变色,圆角
- Xcode 中Provisioning Profiles列表清理方法
- iOS xib布局小技巧-边框设置
- CocoaPods版本升级
- 表单属性问题readonly、disabled、checked,prop的使用
- Android Studio插件开发
- Oracle数据库密码过期
- Speed up Booting Embedded System
- PHP核心编程(一) 之语法、变量与常量