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

相关文章
|
10月前
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
103 0
|
Web App开发 Python
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
|
4月前
|
BI 索引 Python
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
26 0
|
5月前
|
Serverless 定位技术 数据格式
Python遍历大量表格文件并筛选出表格内数据缺失率低的文件
Python遍历大量表格文件并筛选出表格内数据缺失率低的文件
|
8月前
|
小程序 Python
Python实现读取Word表格计算汇总写入Excel
本文通过一个实例介绍了通过Python实现读取Word表格计算汇总写入Excel
102 0
Python实现读取Word表格计算汇总写入Excel
|
数据库
poi 读取word 遍历表格和单元格中的图片
poi 读取word 遍历表格和单元格中的图片
360 0
poi 读取word 遍历表格和单元格中的图片
poi 生成word 表格,并向表格单元格中插入多个图片
poi 生成word 表格,并向表格单元格中插入多个图片
313 0
poi 生成word 表格,并向表格单元格中插入多个图片
C#编程学习21:修改excel的数据项
C#编程学习21:修改excel的数据项
C#编程学习21:修改excel的数据项
【Excel自动化办公Part6】:插入图片、插入柱状图、插入条形图
【Excel自动化办公Part6】:插入图片、插入柱状图、插入条形图
113 0
【Excel自动化办公Part6】:插入图片、插入柱状图、插入条形图
如何使用vlookup+excel数组公式 完成逆向查找?
如何使用vlookup+excel数组公式 完成逆向查找?
如何使用vlookup+excel数组公式 完成逆向查找?