如何从HSSFWorkbook POI API
获取excel表格 named range 区域的高度和宽度。
我从谷歌获得了一个reference,但无法获得excel表的指定索引区域的高度和宽度。
提前致谢。
是的,它的命名范围,并希望命名范围获取的单元格的高度和宽度。下面的代码有“print_area”命名范围,并希望单元格的高度和宽度。
int namedCellIdx = workbook.getNameIndex(“Print_Area”); HSSFName aNamedCell = workbook.getNameAt(namedCellIdx);
// retrieve the cell at the named range and test its contents
String a = aNamedCell.getReference();
AreaReference aref = new AreaReference(aNamedCell.getRefersToFormula());
CellReference[] crefs = aref.getAllReferencedCells();
for (int i=0; i<crefs.length; i++) {
Sheet s = workbook.getSheet(crefs[i].getSheetName());
Row r = sheet.getRow(crefs[i].getRow());
System.out.println(r.getHeight());
System.out.println(sheet.getColumnWidth(crefs[i].getCol()));;
//here want height and width of "Print_area" cells
Cell c = r.getCell(crefs[i].getCol());
System.out.println(c.getStringCellValue());
// extract the cell contents based on cell type etc.
}
答案 0 :(得分:1)
阅读http://poi.apache.org/apidocs/index.html
上的API文档具体来说,请查看org.apache.poi.ss.util.AreaReference
,您可以从中获取第一个和最后一个单元格引用,并确定范围的大小。
但是,您必须处理许多特殊情况,例如整个列或整行的区域,甚至是非连续的区域。