Java 通过poi导出Excel

本文详细介绍了如何使用Apache POI库在Java程序中创建并导出Microsoft Excel(XLS)文件,包括设置单元格样式、创建表头及数据行等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache POI是一个的开放源码函式库,提供Java程序对Microsoft Office格式档案读和写的功能。POI的结构包括HSSF,XSSF,HWPF,HSLF,HDGF,HPBF,HSMF。其中HSSF提供读写Microsoft Excel XLS格式档案的功能。POI官方网站:http://poi.apache.org/ ,通过POI导出Excel步骤如下

1、通过构造器 HSSFWorkbook() 创建工作簿对象

    HSSFWorkbook excel = new HSSFWorkbook();

2、在工作簿中创建表格,如果不指定表格名称就会通过默认名称创建表格

    HSSFSheet sheet = excel.createSheet("ABC");

3、创建单元格样式对象,然后通过对象中的方法对单元格样式进行设置,对象用于在声明单元格时对单元格样式进行添加。如果不添加样式或者不进行样式设置,那么就通过默认样式显示单元格

    HSSFCellStyle style = excel.createCellStyle();

    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置居中对齐

    style.setVerticalAlignment((short) 1);//设置垂直居中

    style.setWrapText(true);//设置自动换行

    HSSFFont font = excel.createFont();//创建字体对象       

    font.setColor(HSSFColor.BLACK.index);//设置字体颜色     

    font.setFontHeightInPoints((short) 12);//设置字体大小   

    font.setFontName("黑体");//设置字体样式

    style.setFont(font);//在单元格样式中添加字体样式

4、创建表格的第一行用于显示表头,在行中添加对应列数单元格,在每个声明的单元格中添加声明的单元格样式和对应的表头数据

    HSSFRow headerRow = sheet.createRow(0);

    HSSFCell headerCell = headerRow.createCell(0);

    headerCell.setCellStyle(style);

    headerCell.setCellValue("A");

    HSSFCell headerCell1 = headerRow.createCell(1);

    headerCell1.setCellStyle(style);

    headerCell1.setCellValue("b");

    HSSFCell headerCell2 = headerRow.createCell(2);

    headerCell2.setCellStyle(style);

    headerCell2.setCellValue("C");

5、循环需要导出的数据集合,创建对应表格行和单元格,在单元格中添加对应的表格数据和声明的单元格样式

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

        HSSFRow tableRow = sheet.createRow(i+1);

        HSSFCell Cell = tableRow.createCell(0);

        Cell.setCellStyle(style);

        Cell.setCellValue(abc.get(i).getA());

        HSSFCell Cell1 = tableRow.createCell(1);

        Cell1.setCellStyle(style);

        Cell1.setCellValue(abc.get(i).getB());

        HSSFCell Cell2 = tableRow.createCell(2);

        Cell2.setCellStyle(style);

        Cell2.setCellValue(abc.get(i).getC());

    }

6、声明字节输出流,指定工作簿保存路径,文件格式为xls。然后通过 write( OutputStream )保存Excel文件

    OutputStream stream=new FileOutputStream("D:/ABC.xls");

    excel.write(stream);

7、关闭输出流

    stream.flush();

    stream.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值