21xrx.com
2024-12-23 02:59:07 Monday
登录
文章检索 我的文章 写文章
如何用Java导出Excel表格到本地
2023-06-15 18:23:08 深夜i     --     --
Java Excel表格 导出

在Java开发过程中,经常会遇到需要将数据以Excel表格的形式导出到本地的需求。本文将介绍如何使用Java代码实现Excel表格的导出,并提供示例代码。

1. 添加依赖

要实现Excel表格的导出,我们需要使用Apache POI这个库。在pom.xml文件中添加以下依赖:


  

     org.apache.poi

     poi

     4.1.2

  

  

     org.apache.poi

     poi-ooxml

     4.1.2

  

2. 创建Excel表格

首先,我们需要创建一个Workbook对象,它可以代表一个Excel文件。接着,我们创建一个Sheet对象,它可以代表一个Excel表格。然后,我们使用Row和Cell对象填充表格中的内容。以下代码演示了如何创建一个Excel表格,并向其中填充一些数据:


Workbook workbook = new XSSFWorkbook();

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

Row headerRow = sheet.createRow(0);

headerRow.createCell(0).setCellValue("姓名");

headerRow.createCell(1).setCellValue("年龄");

Row dataRow = sheet.createRow(1);

dataRow.createCell(0).setCellValue("张三");

dataRow.createCell(1).setCellValue(20);

3. 导出Excel表格

创建好Excel表格之后,我们就可以将其导出到本地了。以下代码演示了如何将Excel表格保存为文件:


FileOutputStream outputStream = new FileOutputStream("data.xlsx");

workbook.write(outputStream);

outputStream.close();

workbook.close();

在上述代码中,我们首先创建一个FileOutputStream对象,它代表了我们要保存的文件。然后,我们通过Workbook对象的write()方法将Excel表格写入到文件中。最后,记得关闭输出流和Workbook对象。

完整代码示例:


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

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

import java.io.FileOutputStream;

import java.io.IOException;

public class ExcelExporter {

  public static void main(String[] args) throws IOException {

    Workbook workbook = new XSSFWorkbook();

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

    Row headerRow = sheet.createRow(0);

    headerRow.createCell(0).setCellValue("姓名");

    headerRow.createCell(1).setCellValue("年龄");

    Row dataRow = sheet.createRow(1);

    dataRow.createCell(0).setCellValue("张三");

    dataRow.createCell(1).setCellValue(20);

    FileOutputStream outputStream = new FileOutputStream("data.xlsx");

    workbook.write(outputStream);

    outputStream.close();

    workbook.close();

  }

}

本文介绍了如何使用Java代码实现Excel表格的导出,并提供了示例代码。

  
  

评论区

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