package com.citics.crm.customerclassamanage.util; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.contrib.HSSFCellUtil; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.util.CellRangeAddress; /** * 描述:Excel写操作帮助类 * @author ALEX * @since 2010-11-24 * @version 1.0v */ public class ExportExcel03 { private static final Logger log=Logger.getLogger(ExportExcel03.class); /** * 功能:将HSSFWorkbook写入Excel文件 * @param wb HSSFWorkbook * @param absPath 写入文件的相对路径 * @param wbName 文件名 */ public static void writeWorkbook(HSSFWorkbook wb,String fileName){ FileOutputStream fos=null; try { fos=new FileOutputStream(fileName); wb.write(fos); } catch (FileNotFoundException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); } catch (IOException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); } finally{ try { if(fos!=null){ fos.close(); } } catch (IOException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); } } } /** * 功能:创建HSSFSheet工作簿 * @param wb HSSFWorkbook * @param sheetName String * @return HSSFSheet */ public static HSSFSheet createSheet(HSSFWorkbook wb,String sheetName){ HSSFSheet sheet=wb.createSheet(sheetName); sheet.setDefaultColumnWidth(12); sheet.setGridsPrinted(false); sheet.setDisplayGridlines(false); return sheet; } /** * 功能:创建HSSFRow * @param sheet HSSFSheet * @param rowNum int * @param height int * @return HSSFRow */ public static HSSFRow createRow(HSSFSheet sheet,int rowNum,int height){ HSSFRow row=sheet.createRow(rowNum); row.setHeight((short)height); return row; } /** * 功能:创建CellStyle样式 * @param wb HSSFWorkbook * @param backgroundColor 背景色 * @param foregroundColor 前置色 * @param font 字体 * @return CellStyle */ public static CellStyle createCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){ CellStyle cs=wb.createCellStyle(); cs.setAlignment(halign); cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER); cs.setFillBackgroundColor(backgroundColor); cs.setFillForegroundColor(foregroundColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); cs.setFont(font); return cs; } /** * 功能:创建带边框的CellStyle样式 * @param wb HSSFWorkbook * @param backgroundColor 背景色 * @param foregroundColor 前置色 * @param font 字体 * @return CellStyle */ public static CellStyle createBorderCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){ CellStyle cs=wb.createCellStyle(); cs.setAlignment(halign); cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER); cs.setFillBackgroundColor(backgroundColor); cs.setFillForegroundColor(foregroundColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); cs.setFont(font); cs.setBorderLeft(CellStyle.BORDER_DASHED); cs.setBorderRight(CellStyle.BORDER_DASHED); cs.setBorderTop(CellStyle.BORDER_DASHED); cs.setBorderBottom(CellStyle.BORDER_DASHED); return cs; } /** * 功能:创建CELL * @param row HSSFRow * @param cellNum int * @param style HSSFStyle * @return HSSFCell */ public static HSSFCell createCell(HSSFRow row,int cellNum,CellStyle style){ HSSFCell cell=row.createCell(cellNum); cell.setCellStyle(style); return cell; } /** * 功能:合并单元格 * @param sheet HSSFSheet * @param firstRow int * @param lastRow int * @param firstColumn int * @param lastColumn int * @return int 合并区域号码 */ public static int mergeCell(HSSFSheet sheet,int firstRow,int lastRow,int firstColumn,int lastColumn){ return sheet.addMergedRegion(new CellRangeAddress(firstRow,lastRow,firstColumn,lastColumn)); } /** * 功能:创建字体 * @param wb HSSFWorkbook * @param boldweight short * @param color short * @return Font */ public static Font createFont(HSSFWorkbook wb,short boldweight,short color,short size){ Font font=wb.createFont(); font.setBoldweight(boldweight); font.setColor(color); font.setFontHeightInPoints(size); return font; } /** * 设置合并单元格的边框样式 * @param sheet HSSFSheet * @param ca CellRangAddress * @param style CellStyle */ public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress ca,CellStyle style) { for (int i = ca.getFirstRow(); i <= ca.getLastRow(); i++) { HSSFRow row = HSSFCellUtil.getRow(i, sheet); for (int j = ca.getFirstColumn(); j <= ca.getLastColumn(); j++) { HSSFCell cell = HSSFCellUtil.getCell(row, j); cell.setCellStyle(style); } } } }
/****07版*****/ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.log4j.Logger; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.util.CellRangeAddress; 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; /** * 描述:Excel写操作帮助类 * @author ALEX * @since 2010-11-24 * @version 1.0v */ public class ExportExcel07 { private static final Logger log=Logger.getLogger(ExportExcel07.class); /** * 功能:将HSSFWorkbook写入Excel文件 * @param wb HSSFWorkbook * @param absPath 写入文件的相对路径 * @param wbName 文件名 */ public static void writeWorkbook(XSSFWorkbook wb,String fileName){ FileOutputStream fos=null; try { fos=new FileOutputStream(fileName); wb.write(fos); } catch (FileNotFoundException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); } catch (IOException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); } finally{ try { if(fos!=null){ fos.close(); } } catch (IOException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); } } } /** * 功能:创建HSSFSheet工作簿 * @param wb HSSFWorkbook * @param sheetName String * @return HSSFSheet */ public static XSSFSheet createSheet(XSSFWorkbook wb,String sheetName){ XSSFSheet sheet=wb.createSheet(sheetName); sheet.setDefaultColumnWidth(12); sheet.setDisplayGridlines(false); return sheet; } /** * 功能:创建HSSFRow * @param sheet HSSFSheet * @param rowNum int * @param height int * @return HSSFRow */ public static XSSFRow createRow(XSSFSheet sheet,int rowNum,int height){ XSSFRow row=sheet.createRow(rowNum); row.setHeight((short)height); return row; } /** * 功能:创建CellStyle样式 * @param wb HSSFWorkbook * @param backgroundColor 背景色 * @param foregroundColor 前置色 * @param font 字体 * @return CellStyle */ public static CellStyle createCellStyle(XSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){ CellStyle cs=wb.createCellStyle(); cs.setAlignment(halign); cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER); cs.setFillBackgroundColor(backgroundColor); cs.setFillForegroundColor(foregroundColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); cs.setFont(font); return cs; } /** * 功能:创建带边框的CellStyle样式 * @param wb HSSFWorkbook * @param backgroundColor 背景色 * @param foregroundColor 前置色 * @param font 字体 * @return CellStyle */ public static CellStyle createBorderCellStyle(XSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){ CellStyle cs=wb.createCellStyle(); cs.setAlignment(halign); cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER); cs.setFillBackgroundColor(backgroundColor); cs.setFillForegroundColor(foregroundColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); cs.setFont(font); cs.setBorderLeft(CellStyle.BORDER_DASHED); cs.setBorderRight(CellStyle.BORDER_DASHED); cs.setBorderTop(CellStyle.BORDER_DASHED); cs.setBorderBottom(CellStyle.BORDER_DASHED); return cs; } /** * 功能:创建CELL * @param row HSSFRow * @param cellNum int * @param style HSSFStyle * @return HSSFCell */ public static XSSFCell createCell(XSSFRow row,int cellNum,CellStyle style){ XSSFCell cell=row.createCell(cellNum); cell.setCellStyle(style); return cell; } /** * 功能:合并单元格 * @param sheet HSSFSheet * @param firstRow int * @param lastRow int * @param firstColumn int * @param lastColumn int * @return int 合并区域号码 */ public static int mergeCell(XSSFSheet sheet,int firstRow,int lastRow,int firstColumn,int lastColumn){ return sheet.addMergedRegion(new CellRangeAddress(firstRow,lastRow,firstColumn,lastColumn)); } /** * 功能:创建字体 * @param wb HSSFWorkbook * @param boldweight short * @param color short * @return Font */ public static Font createFont(XSSFWorkbook wb,short boldweight,short color,short size){ Font font=wb.createFont(); font.setBoldweight(boldweight); font.setColor(color); font.setFontHeightInPoints(size); return font; } /** * 设置合并单元格的边框样式 * @param sheet HSSFSheet * @param ca CellRangAddress * @param style CellStyle */ public static void setRegionStyle(XSSFSheet sheet, CellRangeAddress ca,CellStyle style) { for (int i = ca.getFirstRow(); i <= ca.getLastRow(); i++) { XSSFRow row = sheet.getRow(i); for (int j = ca.getFirstColumn(); j <= ca.getLastColumn(); j++) { XSSFCell cell = row.getCell(j); cell.setCellStyle(style); } } } }
相关推荐
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
java使用poi操作excel导入导出源码,可以同时兼容03、07版本,所需jar包可以链接http://download.csdn.net/detail/yaohucaizi/5215864进行下载!
利用poi导入导出Excel xls,xlsx
poi实现EXCEL保护工作表实例代码.zip是java使用poi实现excel保护工作表的实例代码,兼容.xls和.xlsx类型的excel,分别对其进行了处理。
使用POI版本:3.10-FINAL*/ /* 建立新HSSFWorkbook对象*/ HSSFWorkbook wb = new HSSFWorkbook(); /* 建立新的sheet对象*/ HSSFSheet sheet = wb.createSheet("汇总页面"); HSSFRow row = sheet....
POI导入导出工具类支持office2003和2007的excel表格导入
easyuiPoi 通过模板导出Excel、支持纵向合并单元格(合并重复内容)。压缩包包含公共工具类、示例模板、调用截图。
poi 读写excel,兼容excel2003与2007,导出含有下拉框的excel,读含有合并单元格的excel数据,并处理
小demo,直接运行Test.java就行了 导出文件在D盘
java操作Excel的poi-4.0.1 jar包 包括 poi-4.0.1、poi-examples-4.0.1、poi-excelant-4.0.1等jar包。
基于poi实现word/excel转换为HTML(且兼容.doc.docx.xls.xlsx) 对于简单的word Excel 转换 足够。excel转换时存在火狐浏览器不兼容乱码问题,希望多多交流。
绝对能用 版本稳定 完美支持2003-2010的Excel解析和导出
该包已改过包名,亲测可兼容使用,网上有说把poi升级到4.1.2但是试了导出还是报错,我的原来是3.9版本升到4.1.2还涉及改动代码有风险,所以干脆按自己修改包引用打了个独立的jar包,也可留后续其他项目备用。...
最近项目poi升级,导出excel有异常。通过修改源码,支持poi4.x。已经完美验证。
本jar包解决原来系统中已经使用了POI3.7导出excel发生内存溢出的问题 用法:系统中POI3.7的包不需要移除,直接附加上本jar包即可,导出时使用SXSSFWorkbook类,用法与HSSFWorkbook一致 注:本jar包是从POI3.8中整合...
POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office...
本地MacOS及WIndows通过JAR运行都没问题,上传到生产CENTOS+WAR包运行的时候,导出或导入EXCEL会有各种错误。该资源包含所有POI相关包及依赖,主要有: commons-compress-1.18.jar、 easypoi-annotation-4.1.3.jar、...
poi,excel导出或者下载工具类,先生成文件可以兼容大量数据,有需求的同学可以修改兼容百万以上数据
NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx。官网提供了一份 Examples,给出了很多应用场景的例子,打包好的二进制文件类库,也仅有几...
页面数据用js导出excel,在IE可以用new 一个ActiveXObject("Excel.Application" )对象来处理,但是需要IE启动activeX,不然运行不了,而且只能在IE里才能运行,不能兼容其他浏览器。所以要在web前端把table生成excel...