java 解析EXCEL ,WORD,PDF

511 阅读1分钟

在 Java 中,我们可以使用第三方库来解析 Excel、Word 和 PDF 文件。以下是一些常用库及其使用示例:

1. 解析 Excel 文件

Apache POI 是一个用于处理 Microsoft Office 文件的 Java 库。我们可以使用它来解析 Excel 文件。

添加依赖

在 Maven 项目中,添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.0</version>
</dependency>

示例代码

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ExcelReader {
    public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream = new FileInputStream(new File("example.xlsx"));
        Workbook workbook = new XSSFWorkbook(fileInputStream);
        Sheet sheet = workbook.getSheetAt(0);

        for (Row row : sheet) {
            for (Cell cell : row) {
                String cellValue = "";
                switch (cell.getCellType()) {
                    case STRING:
                        cellValue = cell.getStringCellValue();
                        break;
                    case NUMERIC:
                        cellValue = String.valueOf(cell.getNumericCellValue());
                        break;
                    case BOOLEAN:
                        cellValue = String.valueOf(cell.getBooleanCellValue());
                        break;
                    default:
                        break;
                }
                System.out.print(cellValue + "\t");
            }
            System.out.println();
        }

        workbook.close();
        fileInputStream.close();
    }
}

2. 解析 Word 文件

我们可以使用 Apache POI 库来解析 Word 文件。

添加依赖

在 Maven 项目中,添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.0</version>
</dependency>

示例代码

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;

public class WordReader {
    public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream = new FileInputStream(new File("example.docx"));
        XWPFDocument document = new XWPFDocument(fileInputStream);
        List<XWPFParagraph> paragraphs = document.getParagraphs();

        for (XWPFParagraph paragraph : paragraphs) {
            System.out.println(paragraph.getText());
        }

        document.close();
        fileInputStream.close();
    }
}

3. 解析 PDF 文件

我们可以使用 Apache PDFBox 库来解析 PDF 文件。

添加依赖

在 Maven 项目中,添加以下依赖:

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.29</version>
</dependency>

示例代码

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.IOException;

public class PDFReader {
    public static void main(String[] args) throws IOException {
        PDDocument document = PDDocument.load(new File("example.pdf"));
        PDFTextStripper pdfTextStripper = new PDFTextStripper();
        String text = pdfTextStripper.getText(document);
        System.out.println(text);
        document.close();
    }
}

这些示例代码展示了如何使用 Apache POI 和 Apache PDFBox 库来解析 Excel、Word 和 PDF 文件。在实际项目中,您可能需要根据需求对这些示例进行调整。