浅谈使用java代码进行操作Excel文件

Posted zhao-hao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈使用java代码进行操作Excel文件相关的知识,希望对你有一定的参考价值。

使用java代码操作Excel文件

 需要用到的依赖

 

<!--poi-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>

 

java处理Excel表的数据的数据,对于工作很久的人来说,是Noproblem,但是对于我这种小白来说,基本上是没有接触到的

今天跟大家直接上代码:刚刚编写很差劲,哈哈

try {
//创建工作簿
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream("F:\资料\工法.xlsx"));
System.out.println("hssfWorkbook对象:" + hssfWorkbook);
//读取第一个工作表
HSSFSheet sheet = hssfWorkbook.getSheetAt(0);
System.out.println("sheet对象:" + sheet);
//获取最后一行的num,即总行数。此处从0开始计数
int maxRow = sheet.getLastRowNum();
System.out.println("总行数为:" + maxRow);

for (int row = 1; row <= maxRow; row++) {
//获取最后单元格num,即总单元格数 ***注意:此处从1开始计数***
int maxRol = sheet.getRow(row).getLastCellNum();
if(maxRol!=0){
System.out.println("--------第" + row + "行的数据如下--------");
FzSub fzSub=new FzSub();

for (int rol = 0; rol < maxRol; rol++) {
//从左到右进行,一次得到第一列的属性值
System.out.print( sheet.getRow(row).getCell(rol)+ " ");
HSSFCell data = sheet.getRow(row).getCell(rol);
//对列属性进行叠加,依次存入数据库,与此同时行的id也要跟随for外层for循环进行增加
if(rol==0) {
fzSub.setIdLuqiao(String.valueOf(data));
}
if(rol==1) {
fzSub.setCode(String.valueOf(data));
}
if(rol==2) {
fzSub.setName(String.valueOf(data));
}

System.out.println(fzSub);
}
fzSubService.save(fzSub);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
因为我要的是Excel表的部分数据,所以我直接进行判断,得到我想要的那一列数据,进行存储
很笨的方法但是很实用,请允许我自夸一下自己, 哈哈。
个人理解!

以上是关于浅谈使用java代码进行操作Excel文件的主要内容,如果未能解决你的问题,请参考以下文章

浅谈如何用JNI的代码调用java接口

浅谈HIbernate

java+jxls利用excel模版进行导出

Java架构-Apache POI Excel

浅谈Java三种实现线程同步的方法

浅谈Java三种实现线程同步的方法