java 读取excel

在Java中读取Excel文件,可以使用Apache POI库或JXL库。以下是使用Apache POI库读取Excel文件的步骤和示例代码:

  1. 导入Apache POI库
  • 如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖:
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.3</version>
    </dependency>
    ```

- 如果你使用的是Gradle项目,可以在`build.gradle`文件中添加以下依赖<b class="card40_249__sup_a7f6" data-sup="sup">3</b>:

```groovy
    implementation 'org.apache.poi:poi:5.2.3'
    implementation 'org.apache.poi:poi-ooxml:5.2.3'
    ```

2. **创建`FileInputStream`对象** :

- 使用`FileInputStream`对象加载Excel文件到内存中。

3. **创建`Workbook`对象** :

- 使用`WorkbookFactory.create(InputStream)`方法创建`Workbook`对象<b class="card40_249__sup_a7f6" data-sup="sup">3</b>。

4. **获取`Sheet`对象** :

- 通过`Workbook`对象的`getSheet()`方法获取工作表对象。

5. **遍历行和单元格** :

- 使用`Sheet`对象的`iterator()`方法获取所有行,再遍历每一行的`Cell`,读取数据<b class="card40_249__sup_a7f6" data-sup="sup">4</b>。

以下是一个完整的示例代码<b class="card40_249__sup_a7f6" data-sup="sup">7</b>:

```java
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;
import java.util.Iterator;

public class ExcelReader {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream(new File("path/to/your/excel/file.xlsx"))) {
            Workbook workbook = new XSSFWorkbook(fis);
            Sheet sheet = workbook.getSheetAt(0);

            Iterator<Row> rowIterator = sheet.iterator();
            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Iterator<Cell> cellIterator = row.cellIterator();
                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();
                    switch (cell.getCellType()) {
                        case STRING:
                            System.out.print(cell.getStringCellValue() + "\t");
                            break;
                        case NUMERIC:
                            System.out.print(cell.getNumericCellValue() + "\t");
                            break;
                        case BOOLEAN:
                            System.out.print(cell.getBooleanCellValue() + "\t");
                            break;
                        default:
                            System.out.print("Unknown cell type\t");
                    }
                }
                System.out.println();
            }
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用JXL库读取Excel文件

如果你选择使用JXL库,以下是一个简单的示例代码:

  1. 导入JXL库
  • 确保你已经将JXL库添加到项目的依赖中。
  1. 创建FileInputStream对象
  • 使用FileInputStream对象加载Excel文件到内存中。
  1. 创建Workbook对象
  • 使用Workbook.getWorkbook(FileInputStream)方法创建Workbook对象。
  1. 获取Sheet对象
  • 通过Workbook对象的getSheet(int sheetIndex)方法获取工作表对象。
  1. 遍历行和单元格
  • 使用Sheet对象的getRow(int rowNum)方法获取行对象,然后遍历行中的单元格。

以下是一个完整的示例代码:

Top