poi读取excel总是少读一行是什么个情况?

Gemerl Gemerl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

package com.excel;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ReadExcel {
private static String path="D:/excel.xls";
public static void main(String[] args) throws Exception {
List<String> strUser=new ArrayList<String>();
File file=new File(path);
FileInputStream fs=new FileInputStream(file);
HSSFWorkbook wb=new HSSFWorkbook(fs);
HSSFSheet sheet=wb.getSheet("新生记录");
int lastRow=sheet.getLastRowNum();
StringBuffer values=null;
for(int i=1;i<lastRow+1;i++){
HSSFRow row=sheet.getRow(i);
short cellNum=row.getLastCellNum();
values=new StringBuffer();
for(int j=0;j<cellNum;j++){
HSSFCell cell=row.getCell(j);
if(j==0||j==2){
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
}
System.out.println(cell.getStringCellValue());
values.append(cell.getStringCellValue()+",");
}
values.delete(values.length()-1, values.length());
strUser.add(values.toString());
}
for(int i=0;i<strUser.size();i++){
String[] user=strUser.get(i).split(",");
System.out.println(new User(Integer.valueOf(user[0]),user[1],Integer.valueOf(user[2])));
}
}
}



excel截图 图片上传不上来哦。。

编号 姓名 年龄
1 张三 12
2 李四 15
3 王五 18

这四行都有边框 和底色,还设置了字体为楷体。。

现在问题是 这个row.getLastCellNum(); 得到的总是三行 应该四行才对哦。。
...全文
评论 24
收藏 已收藏
分享
返回顶部
Gemerl
Web 开发 81,108 成员 341,721 内容