poi 导出数据

poi 导出数据

介绍

POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。
所以POI的主要功能是可以用Java操作Microsoft Office的相关文件,但是一般我们都是用来操作Excel相关文件。

poi主要用处:

对excel表格的导入导出功能。
将数据库的数据导出到excel表格中。

1.基本的导出功能

版本:03、07
在这里插入图片描述
1)HSSFWorkbook :创建的excel文件
2)HSSFSheet :sheet工作簿
3)HSSFRow:行
4)HSSFCell :单元格

2.简单的demo测试
  • 添加pom.xml
<!-- poi包 -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
  • 代码测试
public class PoiDemo {

    public static void main(String[] args) throws IOException {

        //export07();
        export03();

    }
    public static void export07() throws IOException {

        //如果是2007版本前的格式则new XSSFWorkbook();
        //如果是2003版本前的格式则new HSSFWorkbook();
        XSSFWorkbook workbook = new XSSFWorkbook();
        //创建一个工作表(sheet页)
        XSSFSheet sheet = workbook.createSheet("学生信息");
        //创建一行,下标从0开始
        XSSFRow row = sheet.createRow(0);

        sheet.setColumnWidth(3,20*256);//给第3列设置为20个字的宽度
        sheet.setColumnWidth(4,20*256);//给第4列设置为20个字的宽度
        //创建这行中的列,下标从0开始,并给该列赋值
        XSSFCell cell = row.createCell(0);
        cell.setCellValue("姓名");
        row.createCell(1).setCellValue("年龄");
        row.createCell(2).setCellValue("性别");
        row.createCell(3).setCellValue("生日");
        row.createCell(4).setCellValue("手机号");

        row = sheet.createRow(1);
        row.createCell(0).setCellValue("张三");
        row.createCell(1).setCellValue("19");
        row.createCell(2).setCellValue("男");
        row.createCell(3).setCellValue("1999/09/09");
        row.createCell(4).setCellValue("13567878765");

        row = sheet.createRow(2);
        row.createCell(0).setCellValue("王红");
        row.createCell(1).setCellValue("18");
        row.createCell(2).setCellValue("女");
        row.createCell(3).setCellValue("2000/09/09");
        row.createCell(4).setCellValue("13567878766");

        //file指代硬盘的一个文件位置
        File file = new File("C:\\Users\\11054\\Desktop\\学生信息表.xlsx");

        FileOutputStream outputStream = new FileOutputStream(file);
        //输出流输出
        workbook.write(outputStream);
        //关liu
        outputStream.close();

    }

    public static void export03() throws IOException {

        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet("学生信息");
        HSSFRow row = sheet.createRow(0);

        sheet.setColumnWidth(3,20*256);//给第3列设置为20个字的宽度
        sheet.setColumnWidth(4,20*256);//给第4列设置为20个字的宽度

        HSSFCell cell = row.createCell(0);
        cell.setCellValue("姓名");
        row.createCell(1).setCellValue("年龄");
        row.createCell(2).setCellValue("性别");
        row.createCell(3).setCellValue("生日");
        row.createCell(4).setCellValue("手机号");

        row = sheet.createRow(1);
        row.createCell(0).setCellValue("张三");
        row.createCell(1).setCellValue("19");
        row.createCell(2).setCellValue("男");
        row.createCell(3).setCellValue("1999/09/09");
        row.createCell(4).setCellValue("13567878765");

        row = sheet.createRow(2);
        row.createCell(0).setCellValue("王红");
        row.createCell(1).setCellValue("18");
        row.createCell(2).setCellValue("女");
        row.createCell(3).setCellValue("2000/09/09");
        row.createCell(4).setCellValue("13567878766");

        File file = new File("C:\\Users\\11054\\Desktop\\学生信息表.xls");
        FileOutputStream outputStream = new FileOutputStream(file);
        workbook.write(outputStream);
        outputStream.close();

    }

}
  • 导出成功显示:
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值