Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java poi

作者:步崖   发布日期:2025-10-18   浏览:36

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

import java.io.FileOutputStream;
import java.io.IOException;

public class POIExample {
    public static void main(String[] args) {
        // 创建一个新的工作簿
        Workbook workbook = new XSSFWorkbook();
        // 创建一个工作表
        Sheet sheet = workbook.createSheet("Java Books");

        // 数据数组
        Object[][] bookData = {
            {"Head First Java", "Kathy Sierra", 79},
            {"Effective Java", "Joshua Bloch", 36},
            {"Clean Code", "Robert C. Martin", 42}
        };

        // 创建字体样式
        Font headerFont = workbook.createFont();
        headerFont.setBold(true);
        headerFont.setFontHeightInPoints((short) 14);
        headerFont.setColor(IndexedColors.RED.getIndex());

        // 创建单元格样式
        CellStyle headerCellStyle = workbook.createCellStyle();
        headerCellStyle.setFont(headerFont);

        // 创建标题行
        Row headerRow = sheet.createRow(0);
        for (int i = 0; i < headers.length; i++) {
            Cell cell = headerRow.createCell(i);
            cell.setCellValue(headers[i]);
            cell.setCellStyle(headerCellStyle);
        }

        // 填充数据
        int rowNum = 1;
        for (Object[] aBook : bookData) {
            Row row = sheet.createRow(rowNum++);
            int colNum = 0;
            for (Object field : aBook) {
                Cell cell = row.createCell(colNum++);
                if (field instanceof String) {
                    cell.setCellValue((String) field);
                } else if (field instanceof Integer) {
                    cell.setCellValue((Integer) field);
                }
            }
        }

        // 自动调整列宽
        for (int i = 0; i < headers.length; i++) {
            sheet.autoSizeColumn(i);
        }

        // 写入文件并关闭资源
        try (FileOutputStream fileOut = new FileOutputStream("books.xlsx")) {
            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private static final String[] headers = {"Title", "Author", "Price"};
}

解释说明:

  1. 导入依赖:代码首先导入了 Apache POI 库的相关类,用于操作 Excel 文件。
  2. 创建工作簿和工作表:使用 XSSFWorkbook 创建一个新的 Excel 工作簿,并创建一个名为 "Java Books" 的工作表。
  3. 定义数据:定义了一个二维数组 bookData,其中包含书籍的标题、作者和价格。
  4. 设置样式:创建了字体和单元格样式,用于设置标题行的格式(加粗、红色、14 号字)。
  5. 创建标题行:在第一行创建了标题行,并应用了样式。
  6. 填充数据:遍历 bookData 数组,将每一本书的信息填入表格中。
  7. 自动调整列宽:调用 autoSizeColumn 方法自动调整每列的宽度以适应内容。
  8. 写入文件:将生成的工作簿写入到一个名为 books.xlsx 的文件中,并确保正确关闭资源。

这段代码展示了如何使用 Apache POI 库创建一个简单的 Excel 文件。

上一篇:java map 遍历

下一篇:java mqtt

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站