1.0 poi.jar学习任务
1. 如何将硬盘上excel,加载到内存进行分析.
2. 如何在内存中生成excel,并导出到硬盘上
3. 如何动态实现excel中表格合并
2.0 Excel文档专有特征:
1.每一个Excel文档由若干小页组成。
2.每一个小页有两个属性[小页名称,小页位置]
3.每创建一个小页时,就会自动被分配大量的单元格
单元格就是Excel文档最小的数据保存单位
4.每一个单元有三个属性【保存数据,行数,列数】
3.0 POI提供的基本API
HSSFWorkbook : 描述内存中一个Excel文档
HSSFSheet : 描述内存中一个小页
HSSFRow : 描述内存中一个数据行
HSSFCell : 描述内存中某一个数据行的一个单元格
4.0 通过POI在内存创建一个Excel文档对象,通过I/O导出到硬盘上,生成Excel文档
1.在内存中创建一个空白的Excel文档对象
2.在空白的Excel文档对象,创建一个小页对象
3.指定我们将要占用的数据行对象
4.根据指定列数,占用当前数据行的单元格对象
5.向单元格填充数据
6.通过I/O流将内存中excel文档对象输送到硬盘上指定的位置上
5.0 可能产生 NullPointerException操作:
1.对象.属性:对象 is null
2.对象.方法:对象 is null
3.(类型转换)作用域.getAttribute("关键字")
6.0 Excel文档单元格合并
1.从【起始单元格】到【结束单元格】之间所有的单元格合并成为一个单元格的流程
2.合并之后的单元格,行数和列数来自于【起始单元格】的行数和列数
3.POI如何实现单元格合并处理:
1)声明一个区间容器,记录【起始单元格】和【结束单元格】的位置
{0,0,1,1}
2)通过小页对象,根据区间容器实现单元格合并.
7.0 POI将硬盘中Excel文档,加载到内存中进行分析
1.创建一个读取流对象,指向硬盘上的文件.
2.通过读取流对象,将硬盘上文件加载到内存,并开辟内存进行保存。
3.获得内存中excel文档中第一个小页对象.
4.将小页中所有拥有数据的行对象进行定位,并封装到迭代器中
5.循环迭代器,依次读取每一行中数据.
实际开发中,每一个被读取的excel文档中,列的个数和排列顺序都是事前约定好的