POI的入门学习(二)遍历工作簿的行和列输出单元格内容

简介: POI的入门学习(二)遍历工作簿的行和列输出单元格内容

POI的入门学习(二)遍历工作簿的行和列输出单元格内容

引入依赖

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.15</version>
        </dependency>

提前准备的excel表格内容

20200401134307494.png

Demo代码

package cn.jp.poi.demo.test;
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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.InputStream;
/**
 * @author JP
 * @title: Demo4
 * @projectName demoPoi
 * @description: 遍历excel输出内容
 * @date 2019/5/13 0013
 */
public class Demo4 {
    public static void main(String[] args) throws Exception {
        //文件输入流导入excel文件
        InputStream inputStream=new FileInputStream("c:\\demo3.xls");
        POIFSFileSystem fileSystem=new POIFSFileSystem(inputStream);
        HSSFWorkbook workbook=new HSSFWorkbook(fileSystem);
        HSSFSheet sheet=workbook.getSheetAt(0); //获取第一个sheet页
        if (sheet==null){
            return;
        }
        //遍历行Row
        System.out.println(sheet.getLastRowNum());
        for(int i=0;i<=sheet.getLastRowNum();i++){
            HSSFRow row=sheet.getRow(i); //获取单行
            if (row==null){
                return;
            }
            //遍历列
            for(int j=0;j<=row.getLastCellNum();j++){
                HSSFCell cell=row.getCell(j); //获取单列
                if(cell ==null){
                    continue;
                }
                System.out.print(" "+getValue(cell));
            }
            System.out.println();
        }
    }
    private static String getValue(HSSFCell cell){
        if(cell.getCellType() ==HSSFCell.CELL_TYPE_BOOLEAN){ //若为boolean类型
            return String.valueOf(cell.getBooleanCellValue());
        }else if (cell.getCellType() ==HSSFCell.CELL_TYPE_NUMERIC){ //若为数字类型
            return String.valueOf(cell.getNumericCellValue());
        }else {
            return String.valueOf(cell.getStringCellValue()); //其他类型统一返回字符串
        }
    }
}

输出结果

20200401134307494.png

相关文章
|
Web App开发 Python
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
|
6月前
|
BI 索引 Python
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
54 0
|
6月前
|
Serverless 定位技术 数据格式
Python遍历大量表格文件并筛选出表格内数据缺失率低的文件
Python遍历大量表格文件并筛选出表格内数据缺失率低的文件
POI入门操作Excel单元格
POI入门操作Excel单元格
144 0
|
数据库
poi 读取word 遍历表格和单元格中的图片
poi 读取word 遍历表格和单元格中的图片
470 0
poi 读取word 遍历表格和单元格中的图片
C#编程学习21:修改excel的数据项
C#编程学习21:修改excel的数据项
C#编程学习21:修改excel的数据项
Java POI导出excel经典实现-交叉报表斜表头
Java POI导出excel经典实现-交叉报表斜表头
|
Python
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
224 0
【Excel自动化办公Part2】:向某个格子里写入内容、append()插入行、在表格中插入公式、插入行和列、删除行和列、移动格子
|
Python
Python基础题型实战03-通过切片确定Excel表格中某范围的单元格数量
台上一分钟,台下十年功。从来没有懒洋洋的自由,有的是通过努力拥有更广阔的未来。 每个看到该文章的大家也是一样的;不要只看眼前利益,多注重长期利益。每天的坚持乘于365都是巨大的力量。每个行业都是精英,每个专业都是都有专才,重要的你是否足够努力,足够坚持。