Apache POI website screenshot

Apache POI

Apache POI is a Java API for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE2 Compound Document format (OLE2). It supports reading and writing Excel, Word, PowerPoint, Visio, and Outlook files.

1 APIs 7 Features
Document ProcessingExcelJavaMicrosoft OfficePowerPointWordApacheOpen Source

APIs

Apache POI

POI provides Java APIs for reading and writing Microsoft Office formats including Excel (HSSF/XSSF), Word (HWPF/XWPF), PowerPoint (HSLF/XSLF), Visio (HDGF/XDGF), and Outlook (HS...

Pricing Plans

Apache Poi Plans Pricing

3 plans

PLANS

Rate Limits

Apache Poi Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Excel HSSF/XSSF

Read and write Excel files in legacy XLS (HSSF) and modern XLSX (XSSF) formats

Word HWPF/XWPF

Read and write Word documents in legacy DOC (HWPF) and modern DOCX (XWPF) formats

PowerPoint HSLF/XSLF

Create and manipulate PowerPoint presentations in PPT and PPTX formats

Formula Evaluation

Evaluate Excel formulas and compute cell values programmatically

Streaming API

Low-memory streaming API (SXSSF) for writing large Excel files

Chart Support

Create and modify charts in Excel workbooks and PowerPoint slides

Digital Signatures

Sign Office documents with digital signatures using OOXML standards

Use Cases

Report Generation

Generate Excel and Word reports programmatically from application data

Data Import/Export

Import data from Excel spreadsheets and export results back

Template Processing

Fill Office document templates with dynamic data

Document Conversion

Convert between legacy Office formats and modern OOXML formats

Integrations

Apache Tika

POI is used by Tika for Office document text extraction

Spring Framework

Integrate POI with Spring Boot for web-based document generation

Maven Central

Available as org.apache.poi artifacts on Maven Central

Apache Commons

Uses Commons Collections and Commons Math for data structures

Semantic Vocabularies

Apache Poi Context

16 classes · 31 properties

JSON-LD

JSON Structure

Apache Poi Cell Data Structure

2 properties

JSON STRUCTURE

Apache Poi Cell Structure

4 properties

JSON STRUCTURE

Apache Poi Conversion Request Structure

3 properties

JSON STRUCTURE

Apache Poi Conversion Result Structure

4 properties

JSON STRUCTURE

Apache Poi Document Request Structure

3 properties

JSON STRUCTURE

Apache Poi Document Structure

5 properties

JSON STRUCTURE

Apache Poi Paragraph Structure

3 properties

JSON STRUCTURE

Apache Poi Presentation Request Structure

3 properties

JSON STRUCTURE

Apache Poi Presentation Structure

4 properties

JSON STRUCTURE

Apache Poi Shape Structure

4 properties

JSON STRUCTURE

Apache Poi Sheet List Structure

1 properties

JSON STRUCTURE

Apache Poi Sheet Structure

4 properties

JSON STRUCTURE

Apache Poi Slide Structure

3 properties

JSON STRUCTURE

Apache Poi Workbook List Structure

2 properties

JSON STRUCTURE

Apache Poi Workbook Request Structure

3 properties

JSON STRUCTURE

Apache Poi Workbook Structure

5 properties

JSON STRUCTURE

Example Payloads

Apache Poi Cell Data Example

2 fields

EXAMPLE

Apache Poi Cell Example

4 fields

EXAMPLE

Apache Poi Document Example

5 fields

EXAMPLE

Apache Poi Paragraph Example

3 fields

EXAMPLE

Apache Poi Shape Example

4 fields

EXAMPLE

Apache Poi Sheet Example

4 fields

EXAMPLE

Apache Poi Slide Example

3 fields

EXAMPLE

Apache Poi Workbook Example

5 fields

EXAMPLE

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
Documentation
Documentation
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD

Sources

Raw ↑
aid: apache-poi
name: Apache POI
description: Apache POI is a Java API for manipulating various file formats based upon the Office Open XML standards (OOXML)
  and Microsoft's OLE2 Compound Document format (OLE2). It supports reading and writing Excel, Word, PowerPoint, Visio, and
  Outlook files.
type: Index
position: Consumer
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Document Processing
- Excel
- Java
- Microsoft Office
- PowerPoint
- Word
- Apache
- Open Source
created: '2026-03-16'
modified: '2026-05-19'
url: https://raw.githubusercontent.com/api-evangelist/apache-poi/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
- aid: apache-poi:apache-poi
  name: Apache POI
  description: POI provides Java APIs for reading and writing Microsoft Office formats including Excel (HSSF/XSSF), Word (HWPF/XWPF),
    PowerPoint (HSLF/XSLF), Visio (HDGF/XDGF), and Outlook (HSMF), with support for formulas, charts, and formatting.
  humanURL: https://poi.apache.org/components/index.html
  tags:
  - Document Processing
  - Excel
  - Java
  - Apache
  - Open Source
  properties:
  - type: Documentation
    url: https://poi.apache.org/components/index.html
  - type: Documentation
    url: https://poi.apache.org/components/
  - type: OpenAPI
    url: openapi/apache-poi-api.yaml
maintainers:
- FN: Kin Lane
  email: info@apievangelist.com
common:
- type: GitHubOrganization
  url: https://github.com/apache/poi
- type: Documentation
  url: https://poi.apache.org/
- type: SpectralRules
  url: rules/apache-poi-spectral-rules.yml
- type: Vocabulary
  url: vocabulary/apache-poi-vocabulary.yaml
- type: JSONLD
  url: json-ld/apache-poi-context.jsonld
- type: Features
  data:
  - name: Excel HSSF/XSSF
    description: Read and write Excel files in legacy XLS (HSSF) and modern XLSX (XSSF) formats
  - name: Word HWPF/XWPF
    description: Read and write Word documents in legacy DOC (HWPF) and modern DOCX (XWPF) formats
  - name: PowerPoint HSLF/XSLF
    description: Create and manipulate PowerPoint presentations in PPT and PPTX formats
  - name: Formula Evaluation
    description: Evaluate Excel formulas and compute cell values programmatically
  - name: Streaming API
    description: Low-memory streaming API (SXSSF) for writing large Excel files
  - name: Chart Support
    description: Create and modify charts in Excel workbooks and PowerPoint slides
  - name: Digital Signatures
    description: Sign Office documents with digital signatures using OOXML standards
- type: UseCases
  data:
  - name: Report Generation
    description: Generate Excel and Word reports programmatically from application data
  - name: Data Import/Export
    description: Import data from Excel spreadsheets and export results back
  - name: Template Processing
    description: Fill Office document templates with dynamic data
  - name: Document Conversion
    description: Convert between legacy Office formats and modern OOXML formats
- type: Integrations
  data:
  - name: Apache Tika
    description: POI is used by Tika for Office document text extraction
  - name: Spring Framework
    description: Integrate POI with Spring Boot for web-based document generation
  - name: Maven Central
    description: Available as org.apache.poi artifacts on Maven Central
  - name: Apache Commons
    description: Uses Commons Collections and Commons Math for data structures