java操作Excel-PIO

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文档中,列的个数和排列顺序都是事前约定好的

Java中可以使用POI库来实现Excel的导入操作。POI(Poor Obfuscation Implementation)是一个用Java编写的功能强大的开源库,可以用于读取、写入和操作Microsoft Office格式的文件,包括Excel文件。 首先,我们需要在项目中引入POI的相关依赖。可以通过在项目的pom.xml文件中添加以下依赖来实现: ``` <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 接下来,我们可以使用POI库中的类和方法来实现Excel文件的导入。例如,可以使用`XSSFWorkbook`类来读取.xlsx格式的Excel文件,使用`HSSFWorkbook`类来读取.xls格式的Excel文件。 首先,我们需要创建一个`File`对象,指定要读取的Excel文件的路径。然后,可以使用`Workbook`类的相关方法打开文件并读取数据。例如,可以使用`getSheetAt()`方法获取Excel中的工作表,使用`getRow()`方法获取行,使用`getCell()`方法获取单元格的值。 以下是一个简单的示例代码,演示如何使用POI库导入Excel文件并打印其中的内容: ``` import org.apache.poi.ss.usermodel.*; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class ExcelImporter { public static void main(String[] args) { try { File file = new File("path/to/excel.xlsx"); FileInputStream fis = new FileInputStream(file); Workbook workbook = WorkbookFactory.create(fis); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { System.out.print(cell.toString() + "\t"); } System.out.println(); } fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码会读取Excel文件中第一个工作表的内容,并逐行打印。你可以根据实际需求进行进一步的数据处理或存储操作。 这就是使用Java的POI库实现Excel导入的简单示例。希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值