POI导入导出的简单实现

数据的导入导出

POI简介

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

Apache POI是用Java编写的免费开源的跨平台的JavaAPI,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。POI为"Poor Obfuscation Implementation"的首字母缩写,以为"可怜的模糊实现"。

用它可以使用Java读取和创建,修改MS Excel文件,而且还可以使用Java读取和创建MS Word和MSPowerPoint文件,Apache POI提供Java操作Excel解决方案(适用于Excel97-2008)

结构:

HSSF - 提供读写Microsoft Excel格式档案的功能。

XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。

HWPF - 提供读写Microsoft Word格式档案的功能。

HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

HDGF - 提供读写Microsoft Visio格式档案的功能。

POI入门小程序:

首先搭建一个工程,这里我就用Springboot快速搭建,之后引入我们的POI坐标,我们要使用POI当然要先引入它的坐标。然后创建一个class,来写我们的小程序。

POM坐标:

<!-- 引入poi不会自动加入另外需要的包
        引入poi-ooxml就会自动引入操作xlsx文件所用到的其他包 -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.15</version>
        </dependency>

入门代码:

package com.example.demo.testpoi;

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 java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class PoiDemo {
    public static void main(String[] args) {
        //创建了一个工作簿
        HSSFWorkbook wk = new HSSFWorkbook();
        //创建了一个工作表
        HSSFSheet sheet = wk.createSheet();
        //创建第一行,一定要先创建行后在创建单元格,不需要创建列
        //下标从0开始,为第一行
        HSSFRow row = sheet.createRow(0);
        //创建单元格,列的索引也是从0开始
        HSSFCell cell = row.createCell(0);
        //给单元格赋值
        cell.setCellValue("测试");

        //保存测试的这个excel,用一个文件输出流
        try {
            FileOutputStream fos = new FileOutputStream("f://poitest.xls");
            wk.write(fos);
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

最后展示一下效果:

几个简单的关于POI在入门程序中用到的API已经在注释中阐明。

如果要设置样式呢?比如列宽:

//设置列宽
        sheet.setColumnWidth(0,5000);

第一个代表哪个单元格,第二个参数为宽度,效果为这样:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值