Apache POI核心类 Apache POI环境 Apache POI工作簿 本章介绍Apache POI API下的一些类和方法,这些类和方法对使用Java程序处理Excel文件至关重要。 工作簿 这是创建或维护Excel工作簿的所有类的超级接口。它属于 org.apache.poi.ss.usermodel 包。实现此接口的两个类如下 - HSSFWorkbook - 此类具有以.xls格式读取和写入Microsoft Excel文件的方法。 它与MS-Office版本97-2003兼容。 XSSFWorkbook - 此类具有以.xls或.xlsx格式读取和写入Microsoft Excel和OpenOffice xml文件的方法。 它与MS-Office 2007或更高版本兼容。 HSSFWorkbook 它是 org.apache.poi.hssf.usermodel 包下的高级类。它实现了 Workbook 接口,用于.xls格式的Excel文件。下面列出了此类下的一些方法和构造函数。 类构造函数 序号 构造函数和描述 1 HSSFWorkbook() 从头开始创建新的HSSFWorkbook对象。 2 HSSFWorkbook(DirectoryNode directory, boolean preserveNodes) 在特定目录中创建新的HSSFWworkbook对象。 3 HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes) 给定POIFSFileSystem对象及其中的特定目录,它会创建一个SSFWorkbook对象来读取指定的工作簿。 4 HSSFWorkbook(java.io.InputStream s) 使用输入流创建新的HSSFWorkbook对象。 5 HSSFWorkbook(java.io.InputStream s, boolean preserveNodes) 围绕输入流构造POI文件系统。 6 HSSFWorkbook(POIFSFileSystem fs) 使用POIFSFileSystem对象构造新的HSSFWorkbook对象。 7 HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes) 给定POIFSFileSystem对象,它会创建一个新的HSSFWorkbook对象来读取指定的工作簿。 这些构造函数中经常使用的参数是 - directory - 要处理的POI文件系统目录。 fs - 包含工作簿流的POI文件系统。 preservenodes - 这是一个可选参数,用于决定是否保留其他节点,如宏。 它占用大量内存,因为它将所有POIFileSystem存储在内存中(如果已设置)。 XSSFWorkbook 它是一个用于表示高级和低级Excel文件格式的类。它属于 org.apache.xssf.usemodel 包并实现 Workbook 接口。下面列出了此类下的方法和构造函数。 类构造函数 序号 构造函数和描述 1 XSSFWorkbook() 从头开始创建新的XSSFworkbook对象。 2 XSSFWorkbook(java.io.File file) 根据给定文件构造XSSFWorkbook对象。 3 XSSFWorkbook(java.io.InputStream is) 构造一个XSSFWorkbook对象,将整个输入流缓冲到内存中,然后为它打开一个OPCPackage对象。 4 XSSFWorkbook(java.lang.String path) 给定文件的完整路径,构造一个XSSFWorkbook对象。 类方法 序号 方法和描述 1 createSheet() 为此工作簿创建一个XSSFSheet,将其添加到工作表,并返回高级表示。 2 createSheet(java.lang.String sheetname) 为此工作簿创建一个新工作表并返回高级表示。 3 createFont() 创建一个新字体并将其添加到工作簿的字体表中。 4 createCellStyle() 创建一个新的XSSFCellStyle并将其添加到工作簿的样式表中。 5 createFont() 创建一个新字体并将其添加到工作簿的字体表中。 6 setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow) 根据指定的参数设置给定图纸的打印区域。 Sheet Sheet是 org.apache.poi.ss.usermodel 包下的一个接口,它是所有类的超级接口,可以创建具有特定名称的高级或低级电子表格。最常见的电子表格类型是工作表,它表示为单元格网格。 HSSFSheet 这是 org.apache.poi.hssf.usermodel 包下的一个类。它可以创建excel电子表格,并允许格式化工作表样式和工作表数据。 类构造函数 Sr.No. Constructor & Description 1 HSSFSheet(HSSFWorkbook workbook) 创建由HSSFWorkbook调用的新HSSFSheet以从头开始创建工作表。 2 HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet) 创建表示给定工作表对象的HSSFSheet。 XSSFSheet 这是一个表示excel电子表格的高级表示的类。它位于 org.apache.poi.hssf.usermodel 包下。 类构造函数 Sr.No. Constructor & Description 1 XSSFSheet() 创建新的XSSFSheet - 由XSSFWorkbook调用以从头开始创建工作表。 2 XSSFSheet(PackagePart part, PackageRelationship rel) 创建表示给定包部件和关系的XSSFSheet。 分类方法 序号 方法和描述 1 addMergedRegion(CellRangeAddress region) 添加合并的单元格区域(因此这些单元格形成一个)。 2 autoSizeColumn(int column) 调整列宽以适合内容。 3 iterator() 此方法是rowIterator()的别名,以允许foreach循环 4 addHyperlink(XSSFHyperlink hyperlink) 在此工作表的超链接集合中注册超链接 行 这是 org.apache.poi.ss.usermodel 包下的接口。它用于电子表格行的高级表示。它是表示POI库中行的所有类的超级接口。 XSSFRow 这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了Row接口,因此可以在电子表格中创建行。下面列出了此类下的方法和构造函数。 分类方法 Sr.No. Method & Description 1 createCell(int columnIndex) 在行中创建新单元格并返回它。 2 setHeight(short height) 以短单位设置高度。 Cell 这是 org.apache.poi.ss.usermodel 包下的接口。它是表示电子表格行中单元格的所有类的超级接口。 单元格可以采用各种属性,如空白,数字,日期,错误等。单元格在添加到行之前应该有自己的数字(基于0)。 XSSFCell 这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了Cell接口。它是电子表格行中单元格的高级表示。 字段 下面列出了XSSFCell类的一些字段及其描述。 序号 Cell 类型和描述 1 CELL_TYPE_BLANK 表示空白单元格 2 CELL_TYPE_BOOLEAN 表示布尔单元格(true或false) 3 CELL_TYPE_ERROR 表示单元格上的错误值 4 CELL_TYPE_FORMULA 表示单元格上的公式结果 5 CELL_TYPE_NUMERIC 表示单元格上的数字数据 6 CELL_TYPE_STRING 表示单元格上的字符串(文本) 类方法 序号 方法和描述 1 setCellStyle(CellStyle style) 设置单元格的样式。 2 setCellType(int cellType) 设置单元格的类型(数字,公式或字符串)。 3 setCellValue(boolean value) 设置单元格的布尔值。 4 setCellValue(java.util.Calendar value) 设置单元格的日期值。 5 setCellValue(double value) 设置单元格的数值。 6 setCellValue(java.lang.String str) 设置单元格的字符串值。 7 setHyperlink(Hyperlink hyperlink) 为此单元格指定超链接。 XSSFCellStyle 这是 org.apache.poi.xssf.usermodel 包下的一个类。它将提供有关电子表格单元格中内容格式的可能信息。它还提供了修改该格式的选项。它实现了CellStyle接口。 字段总结 下表列出了从CellStyle接口继承的一些字段。 序号 字段 & 描述 1 ALIGN_CENTER 中心对齐单元格内容 2 ALIGN_CENTER_SELECTION 中心选择水平对齐 3 ALIGN_FILL 单元格适合内容大小 4 ALIGN_JUSTIFY 使细胞内容适合其宽度 5 ALIGN_LEFT 左对齐单元格内容 6 ALIGN_RIGHT 右对齐单元格内容 7 BORDER_DASH_DOT 带有破折号和点的单元格样式 8 BORDER_DOTTED 带有虚线边框的单元格样式 9 BORDER_DASHED 带有虚线边框的单元格样式 10 BORDER_THICK 细胞风格与厚边框 11 BORDER_THIN 细胞风格与薄边框 12 VERTICAL_BOTTOM 将细胞内容物垂直对齐 13 VERTICAL_CENTER 对齐单元格内容垂直中心 15 VERTICAL_JUSTIFY 垂直对齐并对齐单元格内容 16 VERTICAL_TOP 顶部对齐垂直对齐 类构造函数 序号 构造方法 & 描述 1 XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme) 从提供的零件创建单元格样式 2 XSSFCellStyle(StylesTable stylesSource) 创建一个空单元格样式 分类方法 S.No 方法 & 描述 1 setAlignment(short align) 设置单元格的水平对齐类型 2 setBorderBottom(short border) 设置单元格底部边框的边框类型 3 setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color) 设置所选边框的颜色 4 setBorderLeft(Short border) 设置单元格左边框的边框类型 5 setBorderRight(short border) 设置单元格右边框的边框类型 6 setBorderTop(short border) 设置单元格顶部边框的边框类型 7 setFillBackgroundColor(XSSFColor color) 设置表示为XSSFColor值的背景填充颜色。 8 setFillForegroundColor(XSSFColor color) 设置表示为XSSFColor值的前景填充颜色。 9 setFillPattern(short fp) 指定图案和纯色单元格填充的单元格填充信息。 10 setFont(Font font) 设置此样式的字体。 11 setRotation(short rotation) 设置单元格中文本的旋转度。 12 setVerticalAlignment(short align) 设置单元格的垂直对齐类型。 HSSFColor 这是 org.apache.poi.hssf.util 包下的一个类。它提供不同的颜色作为嵌套类。通常这些嵌套类使用它们自己的索引来表示。它实现了Color接口。 嵌套类 此类的所有嵌套类都是静态的,每个类都有其索引。这些嵌套颜色类用于单元格格式,例如单元格内容,边框,前景和背景。下面列出了一些嵌套类。 序号 类名 (colors) 1 HSSFColor.AQUA 2 HSSFColor.AUTOMATIC 3 HSSFColor.BLACK 4 HSSFColor.BLUE 5 HSSFColor.BRIGHT_GREEN 6 HSSFColor.BRIGHT_GRAY 7 HSSFColor.CORAL 8 HSSFColor.DARK_BLUE 9 HSSFColor.DARK_GREEN 10 HSSFColor.SKY_BLUE 11 HSSFColor.WHITE 12 HSSFColor.YELLOW 分类方法 此类中只有一个方法很重要,用于获取索引值。 Sr.No. 方法 & 描述 1 getIndex() 此方法用于获取嵌套类的索引值。 XSSFColor 这是 org.apache.poi.xssf.usermodel 包下的一个类。它用于表示电子表格中的颜色。它实现了Color接口。下面列出了它的一些方法和构造函数。 类构造函数 Sr.No. 构造方法 & 描述 1 XSSFColor() 创建XSSFColor的新实例。. 2 XSSFColor(byte[] rgb) 使用RGB创建XSSFColor的新实例。 3 XSSFColor(java.awt.Color clr) 使用awt包中的Color类创建XSSFColor的新实例。 分类方法 序号 方法 & 描述 1 setAuto(boolean auto) 设置一个布尔值,表示ctColor是自动的,系统ctColor是依赖的。 2 setIndexed(int indexed) 将索引的ctColor值设置为system ctColor。 XSSFFont 这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了Font接口,因此它可以处理工作簿中的不同字体。 类构造函数 序号 构造方法 & 描述 1 XSSFFont() 创建一个新的XSSFont实例。 分类方法 序号 方法 & 描述 1 setBold(boolean bold) 为“bold”属性设置布尔值。 2 setColor(short color) 设置字体的索引颜色。 3 setColor(XSSFColor color) 设置标准Alpha RGB颜色值中字体的颜色。 4 setFontHeight(short height) 以磅为单位设置字体高度。 5 setFontName(java.lang.String name) 设置字体的名称。 6 setItalic(boolean italic) 为'italic'属性设置布尔值。 XSSFHyperlink 这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了Hyperlink接口。它用于设置指向电子表格单元格内容的超链接。 字段 该类的字段如下。这里,字段表示使用的超链接类型。 序号 字段 & 描述 1 LINK_DOCUMENT 用于链接任何其他文档 2 LINK_EMAIL 用于链接电子邮件 3 LINK_FILE 用于链接任何格式的任何其他文件 4 LINK_URL 用于链接Web URL 类方法 Sr.No. Method & Description 1 setAddress(java.lang.String address) 超链接地址。 XSSFCreationHelper 这是 org.apache.poi.xssf.usermodel 包下的一个类。它实现了CreationHelper接口。它用作公式评估和设置超链接的支持类。 类方法 序号 方法 & 描述 1 createFormulaEvaluator() 创建一个XSSFFormulaEvaluator实例,该实例是评估公式单元格的对象。 2 createHyperlink(int type) 创建一个新的XSSFHyperlink。 XSSFPrintSetup 这是 org.apache.poi.xsssf.usermodel 包下的一个类。它实现了 PrintSetup 接口。它用于设置打印页面大小,区域,选项和设置。 分类方法 序号 方法 & 描述 1 setLandscape(boolean ls) 设置布尔值以允许或阻止横向打印。 2 setLeftToRight(boolean ltor) 设置打印时是否从左到右或从上到下排序。 3 setPaperSize(short size) 设置纸张尺寸。 Apache POI环境 Apache POI工作簿