21xrx.com
2025-03-22 11:03:29 Saturday
文章检索 我的文章 写文章
Java基础教程
2023-06-15 00:15:19 深夜i     16     0
Java Excel POI JExcel EasyExcel

在日常的工作中,我们经常需要读取Excel中的数据来进行各种处理。而Java作为一门非常流行的编程语言,也有它自己的方式来读取Excel数据。在这篇文章中,我们将介绍如何在Java中使用原生的API来读取Excel数据,并给出代码示例。

### 1. 使用POI API读取Excel

Apache POI是一个用于处理Office文档的Java API。它可以读取、写入和操作Excel、PowerPoint和Word等文档。下面是一个使用POI API读取Excel的代码示例:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ReadExcel {
  public static void main(String[] args) throws IOException {
    FileInputStream inputStream = new FileInputStream(new File("path/to/excel/file.xlsx"));
    Workbook workbook = WorkbookFactory.create(inputStream);
    Sheet sheet = workbook.getSheetAt(0);
    for (Row row : sheet) {
      for (Cell cell : row) {
        switch(cell.getCellType()) {
          case Cell.CELL_TYPE_STRING:
            System.out.print(cell.getStringCellValue() + "\t");
            break;
          case Cell.CELL_TYPE_NUMERIC:
            System.out.print(cell.getNumericCellValue() + "\t");
            break;
        }
      }
      System.out.println();
    }
    workbook.close();
    inputStream.close();
  }
}

### 2. 使用JExcel API读取Excel

JExcel是另一个用于处理Excel的Java API。它具有很多与POI相似的功能,并且允许您读取和写入Excel文件。下面是一个使用JExcel API读取Excel的代码示例:

import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcel {
  public static void main(String args[]) throws BiffException, IOException {
    Workbook workbook = Workbook.getWorkbook(new File("path/to/excel/file.xls"));
    Sheet sheet = workbook.getSheet(0);
    for (int i = 0; i < sheet.getRows(); i++) {
      for (int j = 0; j < sheet.getColumns(); j++) {
        Cell cell = sheet.getCell(j, i);
        System.out.print(cell.getContents() + "\t");
      }
      System.out.println();
    }
    workbook.close();
  }
}

### 3. 使用EasyExcel读取Excel

EasyExcel是一个基于注解的Java读写Excel工具。它简化了开发人员的工作,使得读、写Excel变得更加容易。下面是一个使用EasyExcel读取Excel的代码示例:

import java.util.List;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.ReadListener;
public class ReadExcel {
  public static void main(String[] args) {
    String fileName = "path/to/excel/file.xlsx";
    ReadListener listener = new ReadListener() {
      @Override
      public void onException(Exception exception)
        // TODO Auto-generated method stub
      
      @Override
      public void onSkip(int arg0, int arg1)
        // TODO Auto-generated method stub
      
      @Override
      public void onReadError(Exception arg0, int arg1, int arg2)
        // TODO Auto-generated method stub
      
      @Override
      public void onRead(List objectList, com.alibaba.excel.metadata.Sheet sheet) {
        for (Object o : objectList) {
          System.out.println(o.toString());
        }
      }
    };
    EasyExcel.read(fileName).sheet().registerReadListener(listener).doRead();
  }
}

通过本文的介绍,相信你已经掌握了使用Java原生API读取Excel的方法,并且也了解了几种不同的读取Excel的工具。在实际的工作中,你可以根据需要选择最适合你的工具来读取Excel数据。

  
  

评论区

请求出错了