Java利用POI导出Excel格式文件

第一步:先导入依赖。

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.1</version>
        </dependency>

简单案例

package com.maxinyang.excel;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.WorkbookUtil;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 *
 *  无样式 无图片 导出xls 案例;
 * 作者:killgod
 * 口号:天王盖地虎
 */
public class Excel {
    public static void main(String[] args) {
        /**
         * 模拟数据库数据
         */
        List<User> users = new ArrayList<>();
        users.add(new User("老马1","18","河南洛阳"));
        users.add(new User("老马2","18","河南洛阳"));
        users.add(new User("老马3","18","河南洛阳"));
        users.add(new User("老马4","18","河南洛阳"));
        users.add(new User("老马5","18","河南洛阳"));
        users.add(new User("老马6","18","河南洛阳"));
        users.add(new User("老马7","18","河南洛阳"));
        users.add(new User("老马8","18","河南洛阳"));
        users.add(new User("老马9","18","河南洛阳"));
        users.add(new User("老马10","18","河南洛阳"));
        /**
         *创建HSSFWorkbook对象(excel的文档对象),本实例是导出扩张名为xls(office2003)。
         * 如果需要导出扩展名xlsx(office2007以后版本),只需要把文中HSSF改为XSSF即可,
         * 如      HSSFWorkbook改为XSSFWorkbook。
         */
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet userTable = wb.createSheet("用户表");

        /**
         *  HSSFRow 代表行   0 = 表的第一行
         *  HSSFCell 代表列  0 = 第一行第一列
         *  注意 : 单元行单元列下标从零开始
         */
        HSSFRow row0 = userTable.createRow(0);
        HSSFCell cell0 = row0.createCell(0);
        // 设置内容
        cell0.setCellValue("用户表格一览");
        // 合并单元格 起始行 截至列 起始列 截至行
        userTable.addMergedRegion(new CellRangeAddress(0,0,0,4));


        //设置单元列名
        HSSFRow row1 = userTable.createRow(1);
        row1.createCell(0).setCellValue("姓名");
        row1.createCell(1).setCellValue("年龄");
        row1.createCell(2).setCellValue("住址");


        //  循环内容
        for (int i = 0; i < users.size(); i++) {
            User user = users.get(i);
            HSSFRow row = userTable.createRow(i + 2);
            row.createCell(0).setCellValue(user.getName());
            row.createCell(1).setCellValue(user.getAge());
            row.createCell(2).setCellValue(user.getAddress());

        }

        try {
            // 文件名称
            String fileName = System.currentTimeMillis() + ".xls";
            FileOutputStream fileOutputStream = new FileOutputStream("F:\\学习测试文件\\execl\\" + fileName);
            wb.write(fileOutputStream);
            fileOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

如何修改单元格样式:

详情可以借鉴: Java导出Excel(Poi详解)_养只狗名叫猫-CSDN博客_poi导出excel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值