package com.jala.finance.util; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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.util.HSSFCellUtil; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.util.CellRangeAddress; /** * poi 实现excel帮助类 * @author zhanghongxin * */ public class PoiExcelUtil { private static final Log log = LogFactory.getLog(PoiExcelUtil.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())); e.printStackTrace(); } catch (IOException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); e.printStackTrace(); } finally{ try { if(fos!=null){ fos.close(); } } catch (IOException e) { log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause())); e.printStackTrace(); } } } /** * 功能:创建HSSFSheet工作簿 * @param wb HSSFWorkbook * @param sheetName String * @return HSSFSheet */ public static HSSFSheet createSheet(HSSFWorkbook wb,String sheetName){ HSSFSheet sheet=wb.createSheet(sheetName);//创建sheet并设置sheet名字 sheet.setDefaultColumnWidth(20);//设置默认列宽 sheet.setGridsPrinted(true);//设置网格打印 sheet.setDisplayGridlines(true);//设置显示网格线 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_THIN); cs.setBorderRight(CellStyle.BORDER_THIN); cs.setBorderTop(CellStyle.BORDER_THIN); cs.setBorderBottom(CellStyle.BORDER_THIN); 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); } } } }
相关推荐
### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来...希望本文能够帮助您更好地理解和使用 Apache POI 进行 Excel 文件的操作。
### poi Excel写操作帮助类知识点解析 #### 一、引言 Apache POI 是一个用于读写 Microsoft Office 格式文件(如 .doc、.xls、.ppt 等)的 Java API。其中,HSSF(对应 .xls 文件)和 XSSF(对应 .xlsx 文件)是两...
在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿。标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并...
这个"java_poi导入excel通用工具类"是利用Java的POI库和一些额外的技术来实现对Excel数据的导入功能,使得开发人员能够方便地将Excel数据转化为Java对象或者对已有对象进行填充。下面我们将深入探讨相关的知识点。 ...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,POI库被广泛用于生成、修改和读取Excel文档。本篇将深入探讨如何利用Apache POI来操作Excel模板,以及如何读取数据...
综上所述,这个项目的核心在于利用Apache POI库创建具有复杂表头结构的Excel文件,这对数据报告、数据分析等场景非常有帮助。通过阅读和理解这些源代码,开发者可以学习到如何在Java中高效地处理Excel文件,尤其是...
标题“poi导出excel通用类”指的是使用Apache POI库创建一个可以用于导出Excel文件的Java类。Apache POI是开源项目,提供了一组API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件,包括Excel。在...
Apache POI 是一个开源项目,专门用于处理 Microsoft Office 文件格式,包括 Excel。在这个场景中,我们关注的是如何使用 POI 操作 Excel 工具类。...希望这对你在使用 POI 处理 Excel 工具类时有所帮助。
本文将深入探讨"poi excel JAR包"的相关知识点,帮助开发者理解如何利用Apache POI库来解析和操作Excel文件。 Apache POI 是一个Java API,它允许程序员创建、修改和显示MS Office格式的文件。它的名字来源于...
- **用户模型API**:详细解释每个类和方法的功能,以及如何使用它们来操作Excel文件。 - **示例代码**:提供实际运行的代码片段,帮助理解如何执行特定任务。 - **常见问题解答**:解答在使用过程中可能遇到的问题和...
### POI生成Excel报表知识点详解 #### 一、Apache POI简介 Apache POI是Apache软件基金会的一个开源项目,主要用于处理Microsoft Office格式...以上就是使用Apache POI生成Excel报表的主要知识点,希望对你有所帮助。
总结来说,"java_poi导入excel通用工具类V0915" 是一个强大且灵活的工具,可以帮助开发者高效地完成Java环境中Excel数据的导入工作。通过使用反射、注解等技术,它可以适应各种复杂的导入需求,并且能够处理含有公式...
在Java中,使用Apache POI操作Excel文件时,通常会涉及到`XSSFWorkbook`(用于处理.xlsx文件)或`HSSFWorkbook`(用于处理.xls文件)类,` XSSFSheet `,` XSSFRow `,` XSSFCell `等类,以及各种方法来设置样式和...
在Java开发中,Apache POI库是一个非常重要的工具,它允许程序员读取、写入和修改Microsoft Office格式的文件,包括Excel。...通过不断实践和优化,这个工具类可以帮助你更高效地处理Excel相关的任务。
这些代码可能包含了上述所有步骤,帮助开发者更好地理解如何使用Apache POI来处理XLSX格式的Excel文件。 学习和理解这些知识点对于开发需要处理Excel文件的Java应用至关重要,特别是在数据导入导出、报表生成、自动...
而"工具"标签则可能意味着博主分享了一些辅助工具或库,帮助更高效地使用POI。 由于没有具体的博客内容,以上是基于题目信息和Apache POI库的一般性介绍。在实际阅读博客后,你可以得到更多关于博主如何实现Excel...
3. **POI Excel文档结构类**:这些类是构建和操作Excel文档的基础: - `HSSFWorkbook`:表示一个Excel工作簿。 - `HSSFSheet`:代表Excel的一个工作表。 - `HSSFRow`:表示工作表中的行。 - `HSSFCell`:表示行...
在探讨“poi读取合并单元格帮助类”的知识点时,我们首先需要理解Apache POI库在Java中的作用以及如何处理Excel文件中的合并单元格。Apache POI是一个开源的API,它允许程序创建、修改和显示Microsoft Office格式的...
"poi ExcelUtils demo下载" 这个标题表明我们关注的是一个与Apache POI相关的工具,名为ExcelUtils。Apache POI是Java库,用于读写Microsoft Office格式的文件,特别是Excel(.xlsx 和 .xls)文件。ExcelUtils则可能...
### POI Excel单元格颜色设定详解 在使用Apache POI进行Excel操作时,经常会遇到需要对单元格的颜色进行设定的情况。...希望本文能帮助大家更好地理解和掌握POI在Excel单元格颜色设定方面的应用。