21xrx.com
2024-11-22 07:41:00 Friday
登录
文章检索 我的文章 写文章
【教程】Java实现导出Excel报表
2023-06-13 22:36:08 深夜i     --     --
Java Excel 导出

在Java项目开发中,经常需要将数据导出成Excel报表进行分析或备份。Java提供了许多工具包来实现这样的导出操作。下面就是一个示例,演示如何使用Apache POI来实现Java导出Excel报表。

首先,需要在pom.xml文件中添加以下依赖:

xml

   org.apache.poi

   poi

   4.0.1

   org.apache.poi

   poi-ooxml

   4.0.1

然后,创建一个POIExcelExport类,在该类中编写导出Excel报表的代码。下面是一个示例代码,可以直接复制使用


import java.io.FileOutputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

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

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

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.xssf.usermodel.XSSFCellStyle;

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

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

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

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

public class POIExcelExport {

  public static void main(String[] args) {

    try {

      // 创建一个Excel工作簿

      XSSFWorkbook workbook = new XSSFWorkbook();

      // 创建一个Excel表单

      XSSFSheet sheet = workbook.createSheet("Java导出Excel");

      // 设置表头

      List titles = Arrays.asList("姓名", "年龄", "性别");

      XSSFRow titleRow = sheet.createRow(0);

      for (int i = 0; i < titles.size(); i++) {

        Cell cell = titleRow.createCell(i);

        cell.setCellValue(titles.get(i));

        XSSFCellStyle titleStyle = workbook.createCellStyle();

        XSSFFont font = workbook.createFont();

        font.setBold(true);

        titleStyle.setFont(font);

        cell.setCellStyle(titleStyle);

      }

      // 填充表格

      List > items = new ArrayList >();

      List item1 = Arrays.asList("张三", 18, "男");

      List item2 = Arrays.asList("李四", 20, "女");

      List item3 = Arrays.asList("王五", 22, "男");

      items.add(item1);

      items.add(item2);

      items.add(item3);

      for (int i = 0; i < items.size(); i++) {

        XSSFRow row = sheet.createRow(i + 1);

        List item = items.get(i);

        for (int j = 0; j < item.size(); j++) {

          Cell cell = row.createCell(j);

          cell.setCellValue(String.valueOf(item.get(j)));

        }

      }

      // 保存文件

      FileOutputStream outputStream = new FileOutputStream("Java导出Excel.xlsx");

      workbook.write(outputStream);

      workbook.close();

      System.out.println("Excel文件已成功导出!");

    } catch (IOException e) {

      e.printStackTrace();

    }

  }

}

运行该代码,就会在项目的根目录下生成一个名为“Java导出Excel.xlsx”的Excel文件,包含了示例数据。

  
  

评论区

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