21xrx.com
2025-04-16 06:19:48 Wednesday
文章检索 我的文章 写文章
【教程】Java实现导出Excel报表
2023-06-13 22:36:08 深夜i     34     0
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文件,包含了示例数据。
  
  

评论区

请求出错了