我正在尝试了解此代码example的工作原理。遗憾的是,根本没有评论。
HSSFRow.metaClass.getAt = { int idx ->
def cell = delegate.getCell(idx)
if(!cell) {
return null
}
def value
switch(cell.cellType) {
case HSSFCell.CELL_TYPE_NUMERIC:
if(HSSFDateUtil.isCellDateFormatted(cell)) {
value = cell.dateCellValue
} else {
value = cell.numericCellValue
}
break
case HSSFCell.CELL_TYPE_BOOLEAN:
value = cell.booleanCellValue
break
default:
value = cell.stringCellValue
break
}
return value
}
}
有人可以解释一下
为什么需要覆盖MetaClass.getAt()方法?它没有直接使用。它是如何工作的?
cellType,dateCellValue,numericCellValue等(方法或变量)是什么?他们在哪里定义?