目录
1.2.6 Microsoft Publisher 98(-2007)文件处理组件
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兼容流扩展,可用于必须生成非常大的电子表格且堆空间有限的情况 |
处理 | 处理 | 处理超大的 |
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);
}
}
}
运行后则会将表中的数据打印到控制台!!!