数据的导入导出
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);
第一个代表哪个单元格,第二个参数为宽度,效果为这样: