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