Java读取excel表格
一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢
什么是Apache POI?
Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。
Apache POI
Apache POI是Apache软件基金会提供的100%开源库。大多数中小规模的应用程序开发主要依赖于Apache POI(HSSF+ XSSF)。它支持Excel 库的所有基本功能; 然而,呈现和文本提取是它的主要特点。
工作簿
这是创建或维护Excel工作簿的所有类的超接口。它属于org.apache.poi.ss.usermodel包。是实现此接口的两个类,如下所示:
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对象时读取指定的工作簿。 |
这些构造内的常用参数:
注意: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对象。 |
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