目录
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);
        }
    }
}
运行后则会将表中的数据打印到控制台!!!










