当前位置: 代码迷 >> Java Web开发 >> 怎么用Apache POI读取Excel的单元格自定义名称的值
  详细解决方案

怎么用Apache POI读取Excel的单元格自定义名称的值

热度:6628   发布时间:2013-02-25 21:07:13.0
如何用Apache POI读取Excel的单元格自定义名称的值。
如何用Apache POI读取Excel的单元格自定义名称的值所在位置。


我想根据Excel模板去生成一个带有数据的Excel文档,用单元格自定义名称为EMP_WEB所在位置来当做Excel单元格的坐标,而不是在代码中写死,如:1行,2列,如何用Apache POI读取Excel的名称框里的值呢?poi 我和方面不是太方便

可以看看这一页http://poi.apache.org/spreadsheet/quick-guide#NamedRanges

要一个其中的例子

    // Setup code
    String cellName = "TestName";
    Workbook wb = getMyWorkbook(); // retrieve workbook

    // Retrieve the named range
    // Will be something like "$C$10,$D$12:$D$14";
    int namedCellIdx = wb.getNameIndex(cellName);
    Name aNamedCell = wb.getNameAt(namedCellIdx);

    // Retrieve the cell at the named range and test its contents
    // Will get back one AreaReference for C10, and
    //  another for D12 to D14
    AreaReference[] arefs = AreaReference.generateContiguous(aNamedCell.getRefersToFormula());
    for (int i=0; i<arefs.length; i++) {
        // Only get the corners of the Area
        // (use arefs[i].getAllReferencedCells() to get all cells)
        CellReference[] crefs = arefs[i].getCells();
        for (int j=0; j<crefs.length; j++) {
            // Check it turns into real stuff
            Sheet s = wb.getSheet(crefs[j].getSheetName());
            Row r = s.getRow(crefs[j].getRow());
            Cell c = r.getCell(crefs[j].getCol());
            // Do something with this corner cell
        }
    }
没看明白,是想通过POI将数据库的数据读取到excel中,还是想读取excel中单元格所在值的坐标位置值?
  相关解决方案