JAVA中row与column,[POI-HSSF] 例示Logical Row/Column 和 Physical Row/Column 的区别

HSSF是处理Excel的API. 在这个API的语境中,Row/Column 有 "Logical" 和 "Physical" 的区别。

Logical和Physical分别是什么意思? 我不敢望文生义,去网上搜又搜不到,最后只好自己测试一下。 你看了下面的测试结果,就知道这两个东西的区别了:

totallyEmpty.xls (全空的Excel)

get Physical NumberOfRows:

0

get Logical FirstRowNum:

0

get Logical LastRowNum:

0

—-Let’s walk through the physical rows:

没有东西可遍历

—-Let’s walk through the logical rows:

没有东西可遍历

excelPath: row_2_4_6.xls (1、3、5行为空,2、4、6不空,1-based)

get Physical NumberOfRows:

3

get Logical FirstRowNum:

0

get Logical LastRowNum:

5

—-Let’s walk through the physical rows:

遍历出3个对象

org.apache.poi.hssf.usermodel.HSSFRow@1b48197

org.apache.poi.hssf.usermodel.HSSFRow@1a80a69

org.apache.poi.hssf.usermodel.HSSFRow@14384c2

—-Let’s walk through the logical rows:

遍历出5个对象

null

org.apache.poi.hssf.usermodel.HSSFRow@1b48197

null

org.apache.poi.hssf.usermodel.HSSFRow@1a80a69

null

org.apache.poi.hssf.usermodel.HSSFRow@14384c2

col_2_4_6.xls (首行的1、3、5列为空,2、4、6不为空,1-based)

get Physical Number Of Cells:

3

get Logical First Number Of Cells:

1

get Logical Last Number Of Cells:

5

———-Let’s walk through the physical cells:

遍历出3个对象

cell2

cell4

cell6

———-Let’s walk through the logical cells:

遍历出5对象

cell2

null

cell4

null

cell6

附:所调用的方法

—行相关:

get Physical NumberOfRows:    sheet.getPhysicalNumberOfRows()

get Logical FirstRowNum:     sheet.getFirstRowNum()

get Logical LastRowNum:    sheet.getLastRowNum()

the physical rows:

sheet.rowIterator()

the logical rows:

for (int i = sheet.getFirstRowNum(); i <= sheet.getLastRowNum(); i++){}

–列相关

get Physical Number Of Cells: firstRow.getPhysicalNumberOfCells()

get Logical First Number Of Cells: firstRow.getFirstCellNum()

get Logical Last Number Of Cells: (firstRow.getLastCellNum() – 1) //要减1,很奇怪吧

the physical cells:

firstRow.cellIterator()

the logical cells:

for (int i = firstRow.getFirstCellNum(); i <= firstRow.getLastCellNum() - 1; i++) {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值