使用 Apache POI 在Java中打开现有 Excel 工作表
Apache POI是一个强大的 API,人们可以通过它读取、写入和修改任何 Microsoft 文档,如 powerpoint、world 或 excel。
Apache POI 有不同的类和方法来处理不同的 MS Office 文档。
- POIFS –
它代表“Poor Obfuscation Implementation File System” 。该组件是所有其他 POI 元素的基本要素。它用于显式读取不同的文件。 - HSSF
它代表“可怕的电子表格格式” 。用于读写 xls 格式的 MS-Excel 文件。 - XSSF
它代表“XML 电子表格格式” 。用于 MS-Excel 的 xlsx 文件格式。 - HPSF
它代表“可怕的属性集格式” 。它用于提取 MS-Office 文件的属性集。 - HWPF
它代表“可怕的文字处理器格式” 。用于读写 MS-Word 的 doc 扩展文件。 - XWPF
它代表“XML Word Processor Format” 。用于读写MS-Word的docx扩展文件。 - HSLF
它代表“可怕的幻灯片版式格式” 。它用于阅读、创建和编辑 PowerPoint 演示文稿。 - 高密度生长因子
它代表“可怕的图表格式” 。它包含 MS-Visio 二进制文件的类和方法。 - HPBF
它代表“可怕的出版商格式” 。它用于读取和写入 MS-Publisher 文件。
在 Eclipse 中用Java打开现有 Excel 工作表的步骤
- 创建一个Java Maven 项目
- 在 pom.xml 文件中添加依赖
XML
org.apache.poi
poi
3.12
org.apache.poi
poi-ooxml
3.12
Java
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class GFG {
public static void main(String args[]) throws Exception
{
// Create a file object
// for the path of existing Excel file
// Give the path of the file as parameter
// from where file is to be read
File file = new File("Geeks.xlsx");
// Create a FileInputStream object
// for getting the information of the file
FileInputStream fip = new FileInputStream(file);
// Getting the workbook instance for XLSX file
XSSFWorkbook workbook = new XSSFWorkbook(fip);
// Ensure if file exist or not
if (file.isFile() && file.exists()) {
System.out.println("Geeks.xlsx open");
}
else {
System.out.println("Geeks.xlsx either not exist"
+ " or can't open");
}
}
}
- 在 javaResource 文件夹中创建一个类
Java
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class GFG {
public static void main(String args[]) throws Exception
{
// Create a file object
// for the path of existing Excel file
// Give the path of the file as parameter
// from where file is to be read
File file = new File("Geeks.xlsx");
// Create a FileInputStream object
// for getting the information of the file
FileInputStream fip = new FileInputStream(file);
// Getting the workbook instance for XLSX file
XSSFWorkbook workbook = new XSSFWorkbook(fip);
// Ensure if file exist or not
if (file.isFile() && file.exists()) {
System.out.println("Geeks.xlsx open");
}
else {
System.out.println("Geeks.xlsx either not exist"
+ " or can't open");
}
}
}
- 将代码作为Java应用程序运行
输出:
Geeks.xlsx either not exist or can’t open
eclipse中的文件位置