SoFunction
Updated on 2025-03-02

Detailed explanation of Java POI library from entry to mastery

Overview

Apache POI (Poor Obfuscation Implementation) is an open source project of the Apache Software Foundation, providing Java functions to operate Microsoft Office format files (such as Word, Excel, PowerPoint). Among them, POI's processing of Excel files is particularly prominent, providing a rich API for reading, creating and modifying Excel files. This article will explore in-depth how to use POI libraries in Java, including basic concepts, API detailed explanations, common application scenarios and case demonstrations.

Part 1: Introduction and installation of POI library

Apache POI is a solution for Java to handle Microsoft Office documents. It allows Java programmers to read and write files in formats such as Excel, Word, and PowerPoint. First, let's learn how to introduce POI libraries into your Java project.

1. Install the POI library

First, you need to download the latest version of Apache POI. Visit the Apache POI official website () The latest release version can be found. After downloading, import the relevant JAR files into your project's dependencies.

<dependency>
    <groupId></groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId></groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>

2. Structure and function of POI library

POI is mainly divided into the following modules:

  • poi: Mainly provides support for OLE2 file formats (such as Excel 97-2003).
  • poi-ooxml: Provides support for OOXML formats (such as xlsx).
  • poi-scratchpad: Provides some immature or experimental code, such as support for some early Office versions.
  • poi-ooxml-schemas: Contains all OOXML schema files.

Part 2: Basic operations of POI library

In this section, we will explore the basic operations of the POI library in depth, including creating Excel files, reading Excel files, modifying Excel files, and manipulating cells.

1. Create an Excel file

Creating a new Excel file using the POI library is very simple. Here is a simple example code:

import .*;

public class CreateExcelFile {
    public static void main(String[] args) {
        // Create a new workbook        Workbook workbook = new XSSFWorkbook();

        // Create a worksheet        Sheet sheet = ("New Form");

        // Create a row and create a cell in it        Row row = (0);
        Cell cell = (0);
        ("Hello, POI!");

        // Write it out to file        try (FileOutputStream fileOut = new FileOutputStream("")) {
            (fileOut);
        } catch (IOException e) {
            ();
        }

        // Close the workbook        try {
            ();
        } catch (IOException e) {
            ();
        }
    }
}

2. Read and modify Excel files

Reading and modifying Excel files is also a common application of POI libraries. Here is a simple example of reading an Excel file and modifying content:

import .*;

import ;
import ;
import ;
import ;

public class ReadModifyExcel {
    public static void main(String[] args) {
        try {
            // Load Excel file            FileInputStream file = new FileInputStream(new File(""));
            Workbook workbook = new XSSFWorkbook(file);

            // Get the first worksheet            Sheet sheet = (0);

            // Get the first row and update the cell contents in it            Row row = (0);
            Cell cell = (0);
            ("Hello, POI! Updated");

            // Write back to file            FileOutputStream fileOut = new FileOutputStream("");
            (fileOut);
            ();

            // Close the workbook            ();
        } catch (IOException e) {
            ();
        }
    }
}

Part 3: Advanced application and case analysis of POI library

In this section, we will explore the advanced application of the POI library, including advanced functions such as style setting, data formatting, chart insertion, etc., and analyze it in combination with actual cases.

1. Style settings

POI allows you to style cells such as fonts, colors, borders, etc. Here is an example of setting styles:

import .*;

public class ExcelCellStyle {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = ("Style Settings");

        // Create fonts        Font font = ();
        ((short) 14);
        ("Arial");
        (true);
        (());

        // Create cell style        CellStyle style = ();
        (font);

        // Create rows and cells and apply styles        Row row = (0);
        Cell cell = (0);
        ("Style Setting Example");
        (style);

        // Write it out to file        try (FileOutputStream fileOut = new FileOutputStream("")) {
            (fileOut);
        } catch (IOException e) {
            ();
        }

        // Close the workbook        try {
            ();
        } catch (IOException e) {
            ();
        }
    }
}

2. Data formatting and formula calculation

POI also supports data formatting and formula calculation of cells. Here is a simple example:

import .*;

public class ExcelFormula {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = ("Formula Calculation");

        // Create rows and cells        Row row = (0);

        // Set the value        Cell cell1 = (0);
        (10);

        Cell cell2 = (1);
        (20);

        // Create formula        Cell formulaCell = (2);
        ("A1 + B1");

        // Write it out to file        try (FileOutputStream fileOut = new FileOutputStream("")) {
            (fileOut);
        } catch (IOException e) {
            ();
        }

        // Close the workbook        try {
            ();
        } catch (IOException e) {
            ();
        }
    }
}

References

  • Apache POI official website:
  • Apache POI documentation:Apache POI - Component Overview

Summarize

This is what this article about the Java POI library from the beginning to the proficiency of this article. For more detailed explanations of the Java POI library, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!