0
点赞
收藏
分享

微信扫一扫

使用Apache POI 创建和读取excel表

目录

1. Apache POI 中文使用手册

1.1 Apache POI 项目介绍

1.2 处理组件

1.2.1 Excel 文件处理组件

1.2.2 Word 文件处理组件

1.2.3 PPT 文件处理组件

1.2.4 文档属性组件

1.2.5 Visio 文件处理组件

1.2.6 Microsoft Publisher 98(-2007)文件处理组件

1.2.7 OutLook 文件处理组件

1.2.8 OutLook 附件文件处理组件

1.3 Apache POI 下载

1.3.1 直接下载

1.3.2 Maven依赖下载

1.4 使用Apache POI

1.4.1 使用Apache POI 读写Excel 文件

2、测试:创建excel表

读取excel表格


1. Apache POI 中文使用手册

1.1 Apache POI 项目介绍

简言之, Apache POI 是Java 领域中可以操作World,Excel,PPT文件的类库,可以用于生成报表,数据处理等.

1.2 处理组件

1.2.1 Excel 文件处理组件

POIFS

HSSF

XSSF

SXSSF

OIFS是POI中最古老,最稳定的部分。OLE 2复合文档格式到纯Java的移植。

读写*.xls文件

读写*.xlsx 文件

读写*.xlsx 大文件

1.2.2 Word 文件处理组件

HWPF

XWPF

处理*.doc文件

处理*.docx 文件

1.2.3 PPT 文件处理组件

HSLF

XSLF

处理*.ppt文件

处理*.pptx 文件

1.2.4 文档属性组件
1.2.5 Visio 文件处理组件

HDGF

XDGF

处理*.vsd 文件

处理*.vsdx文件

1.2.6 Microsoft Publisher 98(-2007)文件处理组件
1.2.7 OutLook 文件处理组件
1.2.8 OutLook 附件文件处理组件

1.3 Apache POI 下载

依赖引用关系图如下所示:

1.3.1 直接下载

点击下载Apache POI

1.3.2 Maven依赖下载
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> 
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>

1.4 使用Apache POI

Apache POI 虽然支持很多种文档格式的读写,但是我们最常用的还是对Excel 文件的读写。

1.4.1 使用Apache POI 读写Excel 文件

正如前面所说,Apache POI 针对读写Excel 文件提供了三个组件:

HSSF

XSSF

SXSSF

HSSF是POI项目对Excel '97(-2007)文件格式的纯Java实现

XSSF是POI项目对Excel 2007 OOXML(.xlsx)文件格式的纯Java实现。

SXSSF是XSSF的API兼容流扩展,可用于必须生成非常大的电子表格且堆空间有限的情况

处理 *.xls 文件

处理 *.xlsx 文件

处理超大的 *xlsx 文件

2、测试:创建excel表

/*
* Copyright (c) 2020, 2024, fpl1116.cn All rights reserved.
*
*/

package cn.fpl;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* <p>Project: ICan_ParentWork - WriteExcelTest</p>
* <p>Powered by fpl1116 On 2024-01-24 16:30:12</p>
* <p>描述:<p>
*
* @author penglei
* @version 1.0
* @since 1.8
*/

public class WriteExcelTest {
public static void main(String[] args) throws IOException {
// 创建workbook
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建sheet
HSSFSheet sheet = workbook.createSheet("元神");
// 创建row
HSSFRow row = sheet.createRow(0);
// 创建单元格并赋值
row.createCell(0).setCellValue("姓名");
row.createCell(1).setCellValue("年龄");
for (int i = 1; i <=5 ; i++) {
HSSFRow row1 = sheet.createRow(i);
row1.createCell(0).setCellValue(i+"号角色");
row1.createCell(1).setCellValue(18+i);
}
// 输出excel
workbook.write(new FileOutputStream("D:\\Users\\penglei\\Desktop\\元神.xls"));

}

}

运行后则会在D:\\Users\\penglei\\Desktop\\元神.xls这个路径下产生一个元神.xls表格

读取excel表格

/*
* Copyright (c) 2020, 2024, fpl1116.cn All rights reserved.
*
*/

package cn.fpl;

/**
* <p>Project: ICan_ParentWork - SS</p>
* <p>Powered by fpl1116 On 2024-01-24 16:44:28</p>
* <p>描述:<p>
*
* @author penglei
* @version 1.0
* @since 1.8
*/



import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.FileInputStream;
import java.io.IOException;

public class ReadExcelTest {
public static void main(String[] args) throws IOException {
//获得workboot
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("D:\\Users\\penglei\\Desktop\\元神.xls"));
//获得sheet
HSSFSheet sheet = workbook.getSheet("元神");
//获得row
for (int i = 1; i < sheet.getLastRowNum(); i++) {
HSSFRow row = sheet.getRow(i);
//获得cell并取值
String name = row.getCell(0).getStringCellValue();
double age = row.getCell(1).getNumericCellValue();
System.out.println(name+"-------------------"+age);
}
}
}

 运行后则会将表中的数据打印到控制台!!!

举报

相关推荐

0 条评论