21xrx.com
2024-09-17 04:11:42 Tuesday
登录
文章检索 我的文章 写文章
Java Excel导入导出完整代码及实现过程
2023-06-15 13:46:21 深夜i     --     --
Java Excel 导入 导出 POI

Java是目前应用最广泛的编程语言之一,Excel是一个非常常用的数据处理工具。本文将介绍如何使用Java将数据从Excel文件中导入,并将数据导出到Excel文件中,同时提供完整的Java代码。

导入Excel文件

首先需要将Excel文件中的数据导入到Java中。具体实现过程如下:

1.引用POI库

需要引用POI库,这是一个Apache基金会提供的用于操作Microsoft Office文件的Java API库。可以在Maven仓库中找到这个库。

2.获取Workbook实例

Workbook是Excel文件的顶层类,它代表了整个Excel文件。可以通过工厂方法获取Workbook实例,具体代码如下:

Workbook workbook = null;

try {

  workbook = WorkbookFactory.create(new FileInputStream("file.xls"));

} catch (IOException e) {

  e.printStackTrace();

}

注意,WorkbookFactory提供了一种从文件或InputStream中创建Workbook对象的方法,这样可以应对从不同来源获取Excel文件的情况。

3.获取Sheet实例和行列数据

Sheet代表Excel文件中的一个工作表,它包含多行数据。可以通过以下代码获取Sheet实例:

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;

      case Cell.CELL_TYPE_BOOLEAN:

        System.out.print(cell.getBooleanCellValue() + "\t");

        break;

      case Cell.CELL_TYPE_FORMULA:

        System.out.print(cell.getCellFormula() + "\t");

        break;

      default:

        System.out.print("\t");

    }

  }

  System.out.println();

}

以上代码可以将每一行中的单元格数据打印到控制台上。这样就达到了从Excel文件中导入数据的目的。

导出Excel文件

将数据从Java导出到Excel文件中同样需要用到POI库。具体实现过程如下:

1.创建Workbook实例

使用POI提供的工厂方法可以很容易地创建Workbook实例。具体代码如下:

Workbook workbook = new HSSFWorkbook();

HSSFWorkbook是POI提供的一个针对Excel 97-2003版本的Workbook实现。

2.创建Sheet实例和表头

Sheet实例和表头是导出Excel文件时必不可少的。具体代码如下:

Sheet sheet = workbook.createSheet("sheet");

Row row = sheet.createRow(0);

Cell cell0 = row.createCell(0);

cell0.setCellValue("姓名");

Cell cell1 = row.createCell(1);

cell1.setCellValue("年龄");

Cell cell2 = row.createCell(2);

cell2.setCellValue("性别");

以上代码可以创建一个名称为“sheet”的工作表,并在第一行中创建表头。

3.添加数据

在创建了工作表和表头之后,需要将待导出的数据添加到工作表中。具体代码如下:

for (int i = 1; i <= dataList.size(); i++) {

  Row dataRow = sheet.createRow(i);

  Cell nameCell = dataRow.createCell(0);

  nameCell.setCellValue(dataList.get(i - 1).getName());

  Cell ageCell = dataRow.createCell(1);

  ageCell.setCellValue(dataList.get(i - 1).getAge());

  Cell genderCell = dataRow.createCell(2);

  genderCell.setCellValue(dataList.get(i - 1).getGender());

}

上面的代码将导出的数据依次添加到工作表中。dataList是一个包含导出数据的Java List集合。

4.保存Excel文件

在添加完导出数据之后,需要将Workbook实例保存到Excel文件中。具体代码如下:

try {

  FileOutputStream fos = new FileOutputStream("new_file.xls");

  workbook.write(fos);

  fos.close();

} catch (IOException e) {

  e.printStackTrace();

}

这样就完成了将Java数据导出到Excel文件中的整个过程。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复