📜  使用 Apache POI 在Java中打开现有 Excel 工作表

📅  最后修改于: 2022-05-13 01:55:25.708000             🧑  作者: Mango

使用 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应用程序运行

输出:

eclipse中的文件位置