使用Java POI读取Excel的工具类

在实际开发中,我们经常需要读取Excel文件中的数据,以便进行进一步的处理和分析。Java的POI库是一个强大的工具,可以帮助我们实现这个目标。本文将介绍如何使用Java POI读取Excel的工具类,并提供代码示例。

POI简介

Apache POI是Apache软件基金会的开源项目之一,它提供了对Microsoft Office格式文件的支持,包括Word、Excel和PowerPoint等。POI库可以用来读取、写入和操作这些文件,让我们可以通过Java程序来实现对这些文件的操作。

读取Excel的工具类

下面是一个简单的Java工具类,可以使用POI库来读取Excel文件中的数据。这个工具类包含了一个方法readExcel,用于读取Excel文件中的内容并返回一个包含所有数据的列表。

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

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ExcelReader {

    public static List<List<String>> readExcel(String filePath) {
        List<List<String>> data = new ArrayList<>();

        try {
            InputStream inputStream = new FileInputStream(filePath);
            Workbook workbook = WorkbookFactory.create(inputStream);

            Sheet sheet = workbook.getSheetAt(0);
            Iterator<Row> rowIterator = sheet.iterator();

            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Iterator<Cell> cellIterator = row.cellIterator();
                List<String> rowData = new ArrayList<>();

                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();
                    rowData.add(cell.toString());
                }

                data.add(rowData);
            }

            workbook.close();
            inputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return data;
    }
}

使用示例

下面是一个简单的示例,演示了如何使用上面的工具类来读取Excel文件并输出其中的内容。

public class Main {

    public static void main(String[] args) {
        String filePath = "example.xlsx";
        List<List<String>> data = ExcelReader.readExcel(filePath);

        for (List<String> row : data) {
            for (String cell : row) {
                System.out.print(cell + "\t");
            }
            System.out.println();
        }
    }
}

总结

通过Java POI库,我们可以轻松地读取Excel文件中的数据,实现数据的导入和处理。使用上面提供的工具类和示例代码,你可以很容易地将这一功能集成到你的Java应用中。希望这篇文章对你有所帮助!

表格

下面是一个简单的关系图,展示了ExcelReader工具类的结构。

erDiagram
    ExcelReader {
        List<List<String>> data
    }
    ExcelReader ||--|| Workbook
    ExcelReader ||--|| InputStream
    Workbook ||--| Cell
    Workbook ||--| Sheet
    Sheet ||--| Row
    Row ||--| Cell
    List<List<String>> ||--| List<String>

通过上面的示例和代码,我们可以看到ExcelReader工具类的结构以及它与POI库中其他类的关系。希望这个表格可以帮助你更好地理解代码的结构和逻辑。