码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-01-05 18:22:22      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:++   size   try   mil   artifact   实用   分数   pid   第一个   

使用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文件

标签:++   size   try   mil   artifact   实用   分数   pid   第一个   

原文地址:https://www.cnblogs.com/zhao-hao/p/12153047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!