POI的入门

POI报表的概述

POI是Apache提供的专门用来操作office软件的类库
在企业级应用开发中,Excel报表是一种最常见的报表需求。Excel报表开发一般分为两种形式:
1、为了方便操作,基于Excel的报表批量上传数据
2、通过java代码生成Excel报表。

Excel的两种形式

目前世面上的Excel分为两个大的版本Excel2003和Excel2007及以上两个版本;
两者之间的区别如下:
在这里插入图片描述
Excel2003是一个特有的二进制格式,其核心结构是复合文档类型的结构,存储数据量较小;
Excel2007 的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小,操作效率更高

什么是POI

Apache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。

Apache POI是目前最流行的操作Microsoft Office的API组件,借助POI可以方便的完成诸如:数据报表生成,数据批量上传,数据备份等工作

POI的API介绍

工作簿 : WorkBook (HssfWordBook : 2003版本,XssfWorkBook : 2007级以上)

工作表/页: Sheet

行 : Row

单元格 : Cell

单元格样式: CellStyle

小Demo练习一下

  • 导入依赖
<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>4.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>4.0.1</version>
    </dependency>
</dependencies>

java代码创建Excel
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;

//创建一个Excel并且向里面随便写入一句话
public class POIDemo1  {
    public static void main(String[] args) throws Exception{
//        XSSFWorkbook  工作薄    一个Excel文件
//        XSSFSheet     工作表    Excel中的工作表
//        XSSFRow       行        每个工作表的行
//        XSSFCell      单元格    每个行中的单元格
//        XSSFCellStyle 单元格样式
//        1、创建一个全新的工作薄 里面什么都没有
        XSSFWorkbook workbook = new XSSFWorkbook();
//        2、创建一个工作表
        XSSFSheet sheet = workbook.createSheet("测试");
//        设置列宽
        sheet.setColumnWidth(0,17*256); // 单位 1代表一个字母的256分之一
//        3、创建第一行行
        XSSFRow row = sheet.createRow(0);
//        4、创建第一个单元格
        XSSFCell cell = row.createCell(0);
//        5、向单元格中放一句话
        cell.setCellValue("这是我第一次玩POI");
//        6、把Excel输出到磁盘上
        workbook.write(new FileOutputStream("d://demo.xlsx"));

        workbook.close();
    }
}
java代码读取Excel
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.FileOutputStream;

//读取一个Excel中的内容
public class POIDemo2 {
    public static void main(String[] args) throws Exception{
//        1、创建一个的工作薄
        XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream("d://demo.xlsx"));
//        2、获取一个工作表
        XSSFSheet sheet = workbook.getSheetAt(0);
//        3、获取第一行行
        XSSFRow row = sheet.getRow(0);
//        4、获取第一个单元格
        XSSFCell cell = row.getCell(0);
//        5、获取单元格中的内容
        String value = cell.getStringCellValue();
        System.out.println(value);
        workbook.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值