1
我有一個單元對象,我怎樣才能得到那個單元格的名稱?獲取單元格的名稱apache poi
想的功能,如:
String name = myCell.getName();
在Excel我已經在名稱框中命名的,所以我不想讓「B4」,我想獲得的名稱,如「利率」。
找不到這樣的方法,我可以通過其他方式實現嗎?
我有一個單元對象,我怎樣才能得到那個單元格的名稱?獲取單元格的名稱apache poi
想的功能,如:
String name = myCell.getName();
在Excel我已經在名稱框中命名的,所以我不想讓「B4」,我想獲得的名稱,如「利率」。
找不到這樣的方法,我可以通過其他方式實現嗎?
要找到它被定義爲一個單元完全匹配的命名範圍,你想要的東西,如:
// Get the cell we want to find - A1 for this case
Workbook wb = WorkbookFactory.create("input.xlsx");
int sheetIndex = 0;
Sheet s = wb.getSheetAt(sheetIndex);
Cell wanted = s.getRow(0).getCell(0);
String wantedRef = (new CellReference(wanted)).formatAsString();
// Check all the named range
for (int nn=0; nn<wb.getNumberOfNames(); nn++) {
Name n = wb.getNameAt(nn);
if (n.getSheetIndex() == -1 || n.getSheetIndex() == sheetIndex) {
if (n.getRefersToFormula().equals(wantedRef)) {
// Found it!
return name.getNameName();
}
}
}
注意,這將返回適用於細胞中的第一個命名的範圍,如果有更多的比一個,你想要他們所有,你需要調整該代碼繼續並返回一個列表
你的意思是你想要獲取單元格所屬的命名範圍,如果有的話?或者是其他東西? – Gagravarr 2014-10-30 16:47:48
@Gagravarr是的,確切地說,如果命名範圍與命名單元格相同(命名範圍包含一個元素?) – 2014-10-31 09:06:36