POI的Excel核心类

本章介绍了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. 构造函数和说明
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(如果设置)。

注意: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. 构造函数和说明
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对象。

类方法

S.No. 方法及描述
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)

设置一个给定的表按照指定参数的打印区域。

对于此类的其余的方法,请参阅完整的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. 构造函数及描述
1

HSSFSheet(HSSFWorkbook workbook)

创建新HSSFSheet通过调用HSSFWorkbook从头开始创建一个表。

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

创建HSSFSheet表示给定表对象。

XSSFSheet

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

类的构造函数

S.No. 构造函数及描述
1

XSSFSheet()

创造了新的XSSFSheet- 调用XSSFWorkbook从头开始创建一个表。

2

XSSFSheet(PackagePart part, PackageRelationship rel)

创建XSSFSheet表示给定包的一部分和关系。

类方法

S.No. 方法和描述
1

addMergedRegion(CellRangeAddress region)

添加单元的合并区域(因此这些单元格合并形成一个)。

2

autoSizeColumn(int column)

调整列宽,以适应的内容。

3

iterator()

此方法是用于rowIterator()的别名,以允许foreach循环

4

addHyperlink(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. 描述
1

createCell(int columnIndex)

创建新单元行并返回。

2

setHeight(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. 描述
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)

分配超链接到该单元格。

对于这个类的剩余方法和字段,请访问以下链接查看详细:
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. 构造函数及描述
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)

设置单元类型为垂直取向

对于这个类剩下的方法和字段,通过以下链接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

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

嵌套类

所有嵌套类这个类是静态的,每个类都有其索引。这些嵌套色类用于单元格格式,如单元格内容,边框,前景和背景。下面列出了一些的嵌套类。

S.No. 类名(颜色)
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

类方法

这个类的只有一个方法是很重要的,并且用于获取索引值。

S.No. 方法和描述
1

getIndex()

这种方法被用来获得一个嵌套类的索引值

对于其余的方法和嵌套类,请参阅以下链接:
https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html.

XSSFColor

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

类的构造函数

S.No. Constructor and 描述
1

XSSFColor()

创建XSSFColor的新实例。

2

XSSFColor(byte[] rgb)

创建XSSFColor使用RGB的新实例。

3

XSSFColor(java.awt.Color clr)

创建XSSFColor使用Color类从AWT包的新实例。

类方法

S.No. 方法和描述
1

setAuto(boolean auto)

设置一个布尔值,表示ctColor是自动的,系统ctColor依赖。

2

setIndexed(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. 构造函数和描述
1

XSSFFont()

创建一个新的XSSFont实例。

类方法

S.No. 方法和描述
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”属性一个布尔值。

对于其余的方法,通过以下链接:
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. 方法及描述
1

setAddress(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. 方法和描述
1

createFormulaEvaluator()

创建一个XSSFFormulaEvaluator例如,结果计算公式的单元格的对象。

2

createHyperlink(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. 方法及说明
1

setLandscape(boolean ls)

设置一个布尔值,允许或阻止横向打印。

2

setLeftToRight(boolean ltor)

设置是否向左走向右或自上而下的顺序,同时打印。

3

setPaperSize(short size)

设置纸张尺寸。

对于其余的方法,请访问以下链接:https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用 Apache POI,您需要在项目的 pom.xml 文件中添加 Apache POI 的 maven 依赖。例如,如果您希望使用 Apache POI 的最新版本来读取和写入 Microsoft Excel 文件,可以在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>LATEST</version> </dependency> ``` 注意:您应该替换 "LATEST" 为 Apache POI 的实际版本号,例如 "4.1.2"。 如果您希望使用 Apache POI 读取和写入 Microsoft Word 文件,可以在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>LATEST</version> </dependency> ``` 同样,您应该替换 "LATEST" 为 Apache POI 的实际版本号。 如果您希望使用 Apache POI 读取和写入 Microsoft PowerPoint 文件,可以在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>LATEST</version> </dependency> ``` 同样,您应该替换 "LATEST" 为 Apache POI 的实际版本号。 最后,如果您希望使用 Apache POI 读取和写入 Microsoft Outlook 中的电子邮件和日历项目,可以在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.apache.poi</groupId> ### 回答2: Apache POI是一个开源的Java API,用于处理Microsoft Office格式的文件,如Word文档、Excel表格和PowerPoint演示文稿。Maven是一个项目管理工具,用于自动化构建、依赖管理和项目报告。使用Maven来管理Apache POI的依赖可以方便地引入和更新Apache POI库。要在项目中添加Apache POI的Maven依赖,需要在项目的pom.xml文件中添加以下代码: ``` <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> </dependencies> ``` 在上述代码中,groupId指定了Apache POI的组织标识,artifactId指定了具体的模块名称,version指定了所需的版本号。这里的示例代码中使用的是Apache POI的4.1.2版本,你也可以根据需要自行选择版本号。 添加了以上代码后,保存并关闭pom.xml文件。Maven会自动下载并配置Apache POI的相关依赖项。在项目中引用Apache POI时,无需手动导入jar包,Maven会自动处理路径的配置。 使用Maven管理Apache POI的依赖,可以让项目的构建和依赖管理更加简洁和可靠。此外,Maven还可以自动解决依赖冲突,确保每个模块使用的都是同一版本的Apache POI库。这样能够提高项目的稳定性和可维护性。 ### 回答3: Apache POI 是一个用于操作 Microsoft Office 格式文件(如:Word、Excel、PowerPoint)的 Java 库。通过使用 Apache POI,我们可以在 Java 程序中读取、写入和修改这些文件。 为了在项目中使用 Apache POI,我们可以通过 Maven 来添加依赖。首先,我们需要在项目的 pom.xml 文件中添加 Apache POI 的依赖。具体的依赖配置如下: ```xml <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> </dependencies> ``` 在上面的配置中,我们添加了两个依赖:poipoi-ooxml。poi 是 Apache POI核心模块,用于操作 Word 和 Excel 文件。poi-ooxml 是扩展模块,用于操作 Office 2007+ 格式文件(如:.docx、.xlsx)。 在添加了依赖后,Maven 会自动下载并导入 Apache POI 的相关库文件。之后,我们就可以在 Java 代码中使用 Apache POI 的功能了。 例如,我们可以使用 Apache POI 创建一个新的 Excel 文件: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; public class CreateExcelExample { public static void main(String[] args) { try (Workbook workbook = new XSSFWorkbook()) { Sheet sheet = workbook.createSheet("Sheet1"); Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("Hello, World!"); try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) { workbook.write(outputStream); } } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码使用 Apache POI 创建了一个新的 Excel 文件,并在第一个单元格中写入了 "Hello, World!"。最后,将工作簿写入文件 "example.xlsx"。 总的来说,通过在项目的 pom.xml 文件中添加 Apache POI 的 Maven 依赖,我们可以方便地使用 Apache POI 来操作 Microsoft Office 格式文件。希望这个回答对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值