admin
管理员
管理员
  • UID1
  • 粉丝1
  • 关注0
  • 发帖数378
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:1189回复:0

POI核心类

楼主#
更多 发布于:2015-12-21 16:16
本章介绍了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格式。下面列出的是一些本类下的方法和构造函数。


类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]构造函数和说明[/td][/tr][tr][td]1[/td][td]HSSFWorkbook()
从头开始创建一个新的HSSFWorkbook对象时。
[/td][/tr][tr][td]2[/td][td]HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)
创建一个特定的目录中一个新的HSSFWworkbook对象。
[/td][/tr][tr][td]3[/td][td]HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)
给定一个POIFSFileSystem对象和特定的目录中,它创建了一个SSFWorkbook对象读取指定的工作簿。
[/td][/tr][tr][td]4[/td][td]HSSFWorkbook(java.io.InputStream s)
创建使用输入流中的新HSSFWorkbook对象时。
[/td][/tr][tr][td]5[/td][td]HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)
构建在输入流的POI文件系统。
[/td][/tr][tr][td]6[/td][td]HSSFWorkbook(POIFSFileSystem fs)
使用POIFSFileSystem对象构造的新HSSFWorkbook对象时。
[/td][/tr][tr][td]7[/td][td]HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)
给定一个POIFSFileSystem对象时,它会创建一个新的HSSFWorkbook对象时读取指定的工作簿。
[/td][/tr][/table]这些构造内的常用参数:

  • 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接口。下面列出的是这个类的方法和构造函数。


类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]构造函数和说明[/td][/tr][tr][td]1[/td][td]XSSFWorkbook()
从头开始创建一个新的XSSFworkbook对象。
[/td][/tr][tr][td]2[/td][td]XSSFWorkbook(java.io.File file)
构造从给定文件中的XSSFWorkbook对象。
[/td][/tr][tr][td]3[/td][td]XSSFWorkbook(java.io.InputStream is)
构造一个XSSFWorkbook对象,通过缓冲整个输入流到内存中,然后为它打开一个OPCPackage对象。
[/td][/tr][tr][td]4[/td][td]XSSFWorkbook(java.lang.String path)
构建一个给定文件的完整路径的XSSFWorkbook对象。
[/td][/tr][/table]

类方法

[table=100%,top][tr][td]S.No.[/td][td]方法及描述[/td][/tr][tr][td]1[/td][td]createSheet()
创建一个XSSFSheet本工作簿,将其添加到表,并返回高层表示。
[/td][/tr][tr][td]2[/td][td]createSheet(java.lang.String sheetname)
创建此工作簿的新表,并返回高层表示。
[/td][/tr][tr][td]3[/td][td]createFont()
创建一个新的字体,并将其添加到工作簿的字体表。
[/td][/tr][tr][td]4[/td][td]createCellStyle()
创建一个新的XSSFCellStyle并将其添加到工作簿的样式表。
[/td][/tr][tr][td]5[/td][td]createFont()
创建一个新的字体,并将其添加到工作簿的字体表。
[/td][/tr][tr][td]6[/td][td]setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow)
设置一个给定的表按照指定参数的打印区域。
[/td][/tr][/table]对于此类的其余的方法,请参阅完整的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 方式和表数据格式。


类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]构造函数及描述[/td][/tr][tr][td]1[/td][td]HSSFSheet(HSSFWorkbook workbook)
创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表。
[/td][/tr][tr][td]2[/td][td]HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)
创建HSSFSheet表示给定表对象。
[/td][/tr][/table]

XSSFSheet

这是代表了Excel电子表格的高级别代表的一类。这在org.apache.poi.hssf.usermodel包下。


类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]构造函数及描述[/td][/tr][tr][td]1[/td][td]XSSFSheet()
创造了新的XSSFSheet- 调用XSSFWorkbook从头开始创建一个表。
[/td][/tr][tr][td]2[/td][td]XSSFSheet(PackagePart part, PackageRelationship rel)
创建XSSFSheet表示给定包的一部分和关系。
[/td][/tr][/table]

类方法

[table=100%,top][tr][td]S.No.[/td][td]方法和描述[/td][/tr][tr][td]1[/td][td]addMergedRegion(CellRangeAddress region)
添加单元的合并区域(因此这些单元格合并形成一个)。
[/td][/tr][tr][td]2[/td][td]autoSizeColumn(int column)
调整列宽,以适应的内容。
[/td][/tr][tr][td]3[/td][td]iterator()
此方法是用于rowIterator()的别名,以允许foreach循环
[/td][/tr][tr][td]4[/td][td]addHyperlink(XSSFHyperlink hyperlink)
注册超链接的集合中的超链接此工作表格上
[/td][/tr][/table]对于此类的其余的方法,请参阅完整的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接口,因此它可以在电子表格中创建行。下面列出的是这个类在方法和构造函数。


类方法

[table=100%,top][tr][td]S.No.[/td][td]描述[/td][/tr][tr][td]1[/td][td]createCell(int columnIndex)
创建新单元行并返回。
[/td][/tr][tr][td]2[/td][td]setHeight(short height)
设置短单位的高度。
[/td][/tr][/table]对于此类的其余的方法,参考如下链接:
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类的字段以及它们的描述。
[table=100%,top][tr][td]单元格类型[/td][td]描述[/td][/tr][tr][td]CELL_TYPE_BLANK[/td][td]代表空白单元格[/td][/tr][tr][td]CELL_TYPE_BOOLEAN[/td][td]代表布尔单元(true或false)[/td][/tr][tr][td]CELL_TYPE_ERROR[/td][td]表示在单元的误差值[/td][/tr][tr][td]CELL_TYPE_FORMULA[/td][td]表示一个单元格公式的结果[/td][/tr][tr][td]CELL_TYPE_NUMERIC[/td][td]表示对一个单元的数字数据[/td][/tr][tr][td]CELL_TYPE_STRING[/td][td]表示对一个单元串(文本)[/td][/tr][/table]

类方法

[table=100%,top][tr][td]S.No.[/td][td]描述[/td][/tr][tr][td]1[/td][td]setCellStyle(CellStyle style)
为单元格设置样式。
[/td][/tr][tr][td]2[/td][td]setCellType(int cellType)
设置单元格的类型(数字,公式或字符串)。
[/td][/tr][tr][td]3[/td][td]setCellValue(boolean value)
设置单元格一个布尔值
[/td][/tr][tr][td]4[/td][td]setCellValue(java.util.Calendar value)
设置一个日期值的单元格。
[/td][/tr][tr][td]5[/td][td]setCellValue(double value)
设置为单元格的数值。
[/td][/tr][tr][td]6[/td][td]setCellValue(java.lang.String str)
设置为单元格的字符串值。
[/td][/tr][tr][td]7[/td][td]setHyperlink(Hyperlink hyperlink)
分配超链接到该单元格。
[/td][/tr][/table]对于这个类的剩余方法和字段,请访问以下链接查看详细:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html



XSSFCellStyle

这是在org.apache.poi.xssf.usermodel包的类。它将提供关于在电子表格的单元格中的内容的格式可能的信息。它也提供了用于修正该格式的选项。它实现了CellStyle接口。


字段摘要

下表列出了从CellStyle接口继承一些字段。
[table=100%,top][tr][td]字段名称[/td][td]字段描述[/td][/tr][tr][td]ALIGN_CENTER[/td][td]中心对齐单元格内容[/td][/tr][tr][td]ALIGN_CENTER_SELECTION[/td][td]中心选择水平对齐方式[/td][/tr][tr][td]ALIGN_FILL[/td][td]单元格适应于内容的大小[/td][/tr][tr][td]ALIGN_JUSTIFY[/td][td]适应单元格内容的宽度[/td][/tr][tr][td]ALIGN_LEFT[/td][td]左对齐单元格内容[/td][/tr][tr][td]ALIGN_RIGHT[/td][td]右对齐单元格内容[/td][/tr][tr][td]BORDER_DASH_DOT[/td][td]使用破折号和点单元格样式[/td][/tr][tr][td]BORDER_DOTTED[/td][td]用虚线边框的单元格样式[/td][/tr][tr][td]BORDER_DASHED[/td][td]用虚线边框的单元格样式[/td][/tr][tr][td]BORDER_THICK[/td][td]厚厚的边框单元格样式[/td][/tr][tr][td]BORDER_THIN[/td][td]薄边框的单元格样式[/td][/tr][tr][td]VERTICAL_BOTTOM[/td][td]对齐单元格内容的垂直下方[/td][/tr][tr][td]VERTICAL_CENTER[/td][td]对齐单元格内容垂直居中[/td][/tr][tr][td]VERTICAL_JUSTIFY[/td][td]对齐和垂直对齐的单元格内容[/td][/tr][tr][td]VERTICAL_TOP[/td][td]顶部对齐为垂直对齐[/td][/tr][/table]

类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]构造函数及描述[/td][/tr][tr][td]1[/td][td]XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme)
创建一个单元格样式,从所提供的部分
[/td][/tr][tr][td]2[/td][td]XSSFCellStyle(StylesTable stylesSource)
创建一个空的单元样式
[/td][/tr][/table]

类方法

设置边框的类型为单元格的底部边界
[table=100%,top][tr][td]S.No[/td][td]方法及描述[/td][/tr][tr][td]1[/td][td]setAlignment(short align)
设置单元格为水平对齐的类型
[/td][/tr][tr][td]2[/td][td]setBorderBottom(short border)
[/td][/tr][tr][td]3[/td][td]setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)
选定的边框颜色
[/td][/tr][tr][td]4[/td][td]setBorderLeft(Short border)
设置边界的类型单元格的左边框
[/td][/tr][tr][td]5[/td][td]setBorderRight(short border)
设置边框的类型为单元格的右边界
[/td][/tr][tr][td]6[/td][td]setBorderTop(short border)
设置边界的类型的单元上边框
[/td][/tr][tr][td]7[/td][td]setFillBackgroundColor(XSSFColor color)
设置表示为XSSFColor值背景填充颜色。
[/td][/tr][tr][td]8[/td][td]setFillForegroundColor(XSSFColor color)
设置表示为XSSFColor的值前景填充颜色。
[/td][/tr][tr][td]9[/td][td]setFillPattern(short fp)
指定单元格的填充信息模式和纯色填充单元。
[/td][/tr][tr][td]10[/td][td]setFont(Font font)
设置此样式的字体。
[/td][/tr][tr][td]11[/td][td]setRotation(short rotation)
设置的旋转为在单元格中文本的程度。
[/td][/tr][tr][td]12[/td][td]setVerticalAlignment(short align)
设置单元类型为垂直取向。
[/td][/tr][/table]对于这个类剩下的方法和字段,通过以下链接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html



HSSFColor

这是在org.apache.poi.hssf.util包的类。它提供了不同的颜色作为嵌套类。通常这些嵌套类是使用自己的索引来表示。它实现了Color接口。


嵌套类

所有嵌套类这个类是静态的,每个类都有其索引。这些嵌套色类用于单元格格式,如单元格内容,边框,前景和背景。下面列出了一些的嵌套类。
[table=100%,top][tr][td]S.No.[/td][td]类名(颜色)[/td][/tr][tr][td]1[/td][td]HSSFColor.AQUA[/td][/tr][tr][td]2[/td][td]HSSFColor.AUTOMATIC[/td][/tr][tr][td]3[/td][td]HSSFColor.BLACK[/td][/tr][tr][td]4[/td][td]HSSFColor.BLUE[/td][/tr][tr][td]5[/td][td]HSSFColor.BRIGHT_GREEN[/td][/tr][tr][td]6[/td][td]HSSFColor.BRIGHT_GRAY[/td][/tr][tr][td]7[/td][td]HSSFColor.CORAL[/td][/tr][tr][td]8[/td][td]HSSFColor.DARK_BLUE[/td][/tr][tr][td]9[/td][td]HSSFColor.DARK_GREEN[/td][/tr][tr][td]10[/td][td]HSSFColor.SKY_BLUE[/td][/tr][tr][td]11[/td][td]HSSFColor.WHITE[/td][/tr][tr][td]12[/td][td]HSSFColor.YELLOW[/td][/tr][/table]

类方法

这个类的只有一个方法是很重要的,并且用于获取索引值。
[table=100%,top][tr][td]S.No.[/td][td]方法和描述[/td][/tr][tr][td]1[/td][td]getIndex()
这种方法被用来获得一个嵌套类的索引值
[/td][/tr][/table]对于其余的方法和嵌套类,请参阅以下链接:
https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html.



XSSFColor

这是在org.apache.poi.xssf.usermodel包的类。它是用来表示在电子表格中的颜色。它实现了颜色的接口。下面列出的是它的一些方法和构造函数。


类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]Constructor and 描述[/td][/tr][tr][td]1[/td][td]XSSFColor()
创建XSSFColor的新实例。
[/td][/tr][tr][td]2[/td][td]XSSFColor(byte[] rgb)
创建XSSFColor使用RGB的新实例。
[/td][/tr][tr][td]3[/td][td]XSSFColor(java.awt.Color clr)
创建XSSFColor使用Color类从AWT包的新实例。
[/td][/tr][/table]

类方法

[table=100%,top][tr][td]S.No.[/td][td]方法和描述[/td][/tr][tr][td]1[/td][td]setAuto(boolean auto)
设置一个布尔值,表示ctColor是自动的,系统ctColor依赖。
[/td][/tr][tr][td]2[/td][td]setIndexed(int indexed)
设置索引ctColor值系统ctColor。
[/td][/tr][/table]对于其余的方法,请访问以下链接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html.



XSSFFont

这是在org.apache.poi.xssf.usermodel包的类。它实现了Font接口,因此它可以处理工作簿中不同的字体。


类的构造函数

[table=100%,top][tr][td]S.No.[/td][td]构造函数和描述[/td][/tr][tr][td]1[/td][td]XSSFFont()
创建一个新的XSSFont实例。
[/td][/tr][/table]

类方法

[table=100%,top][tr][td]S.No.[/td][td]方法和描述[/td][/tr][tr][td]1[/td][td]setBold(boolean bold)
设置“bold”属性的布尔值。
[/td][/tr][tr][td]2[/td][td]setColor(short color)
设置索引颜色的字体。
[/td][/tr][tr][td]3[/td][td]setColor(XSSFColor color)
设置为标准Alpha RGB颜色值的字体颜色。
[/td][/tr][tr][td]4[/td][td]setFontHeight(short height)
设置在点的字体高度。
[/td][/tr][tr][td]5[/td][td]setFontName(java.lang.String name)
设置字体的名称。
[/td][/tr][tr][td]6[/td][td]setItalic(boolean italic)
设置“italic”属性一个布尔值。
[/td][/tr][/table]对于其余的方法,通过以下链接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html.



XSSFHyperlink

这是在org.apache.poi.xssf.usermodel包的类。它实现了Hyperlink接口。它是用来连结设置为电子表格的单元格内容。


字段

属于此类的字段如下。这里,字段意味着使用超链接的类型。
[table=100%,top][tr][td]字段[/td][td]描述[/td][/tr][tr][td]LINK_DOCUMENT[/td][td]用于连接任何其他文件[/td][/tr][tr][td]LINK_EMAIL[/td][td]用于链接的电子邮件[/td][/tr][tr][td]LINK_FILE[/td][td]用于以任何格式链接任何其他文件[/td][/tr][tr][td]LINK_URL[/td][td]用来连接一个网页URL[/td][/tr][/table]

类方法

[table=100%,top][tr][td]S.No.[/td][td]方法及描述[/td][/tr][tr][td]1[/td][td]setAddress(java.lang.String address)
超链接地址。
[/td][/tr][/table]对于其余的方法,请访问以下链接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html



XSSFCreationHelper

这是在org.apache.poi.xssf.usermodel包的类。它实现了CreationHelper接口。它被用作公式求值和设置超文本链接支持类。


类方法

[table=100%,top][tr][td]S.No.[/td][td]方法和描述[/td][/tr][tr][td]1[/td][td]createFormulaEvaluator()
创建一个XSSFFormulaEvaluator例如,结果计算公式的单元格的对象。
[/td][/tr][tr][td]2[/td][td]createHyperlink(int type)
Creates a new XSSFHyperlink.
[/td][/tr][/table]对于其余的方法,请参考以下链接:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html.


XSSFPrintSetup

这是在org.apache.poi.xsssf.usermodel包下的类。它实现了PrintSetup接口。它是用来设置打印页面大小,面积,选项和设置。


类方法

[table=100%,top][tr][td]S.No.[/td][td]方法及说明[/td][/tr][tr][td]1[/td][td]setLandscape(boolean ls)
设置一个布尔值,允许或阻止横向打印。
[/td][/tr][tr][td]2[/td][td]setLeftToRight(boolean ltor)
设置是否向左走向右或自上而下的顺序,同时打印。
[/td][/tr][tr][td]3[/td][td]setPaperSize(short size)
设置纸张尺寸。
[/td][/tr][/table]对于其余的方法,请访问以下链接:https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部