Apache POI - Java Excel APIs
文档来源:https://www.yiibai.com/apache_poi/
POI
什么是Apache POI?
Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。
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
Apache POI - Java Excel APIs的更多相关文章
- Java开发小技巧(六):使用Apache POI读取Excel
前言 在数据仓库中,ETL最基础的步骤就是从数据源抽取所需的数据,这里所说的数据源并非仅仅是指数据库,还包括excel.csv.xml等各种类型的数据接口文件,而这些文件中的数据不一定是结构化存储的, ...
- 使用Apache POI导出Excel小结--导出XLS格式文档
使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- 利用Apache POI操作Excel
最近在做接口,有个功能是利用Excel导入汽车发动机所需零件信息到线上系统中.简单回顾一下之前学过的用java操作Excel. 1.maven配置Apache POI pom.xml中配置POIjar ...
- apache POI 导出excel相关方法
apache POI 操作excel无比强大.同时有操作word和ppt的接口. 下面讲解poi中常用方法. 1,设置列宽 HSSFSheet sheet = wb.getSheetAt(0); sh ...
- java使用Apache POI操作excel文件
官方介绍 HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is ...
- Java中用Apache POI生成excel和word文档
概述: 近期在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能.最后决定用Apache POI来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...
- java 通过Apache poi导出excel代码demo实例
package com.zuidaima.excel.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutput ...
- Java使用Apache POI进行Excel导入和导出
Manve依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> ...
随机推荐
- [转帖]system()、exec()、fork()三个与进程有关的函数的比较
system().exec().fork()三个与进程有关的函数的比较 https://www.cnblogs.com/qingergege/p/6601807.html 启动新进程(system函数 ...
- [转帖]linux下的CPU、内存、IO、网络的压力测试
linux下的CPU.内存.IO.网络的压力测试 https://www.cnblogs.com/zhuochong/p/10185881.html 一.对CPU进行简单测试: 1.通过bc命令计算特 ...
- mybatis两种开发方式
本文首先讲解从JDBC到mybatis的演变过程,然后是使用mybatis进行开发的两种方式. 一 JDBC的使用及其优化 1.使用JDBC进行数据库操作 加载JDBC驱动: 建立并获取数据库连接: ...
- MySQL的备份和回复
一.备份的原因 二.备份的类型 三.备份的方式 四.备份策略 五.备份工具
- MBG逆向工程报错:generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver
修改pom文件,逆向工程如下: <!-- 逆向工程 --> <plugin> <groupId>org.mybatis.generator</groupId& ...
- 搞了一下午时间全浪费在这了,其实是自己拷贝了patch文件,导致tab变成了空格的错
很老实的基于最新的kernel,源文件,修改了代码.通过diff -uNr --show-c-function dir1 dir2 > ipv6.patch制作了patch文件,准备代码上库构建 ...
- python RSA 加密与签名
PyCrypto装起来就简单多了,我是直接 sudo easy_install pycrypto 直接搞定的 先生成rsa的公私钥:打开控制台,输入 openssl 再输入 genrsa -out p ...
- 原型链上的call方法集合
1. Object.prototype.toString.call(value) // 返回数据的类型 // "[object Object]" 等 2. Array.protot ...
- 一、ABP框架框架摘要
ABP框架几点说明: 一.什么是ABP ABP是一个建立在最新的ASP.NET的MVC和Web API技术的应用框架.它可以很容易地使用依赖注入.日志记录.验证.异常处理.本地化等,也使用流行的框架和 ...
- PHP关联查询
article文章表: aid title content uid 1 文章1 文章1正文内容... 1 2 文章2 文章2正文内容... 1 3 文章3 文章3正文内容... 2 4 文章4 文章4 ...