Package org.apache.poi.hssf.record

Examples of org.apache.poi.hssf.record.NameRecord


        HSSFWorkbook wb = new HSSFWorkbook();
        wb.createSheet();
        wb.createSheet();
        HSSFSheet sheet2 = wb.createSheet();
        sheet2.setRepeatingRows(CellRangeAddress.valueOf("1:2"));
        NameRecord nameRecord = wb.getWorkbook().getNameRecord(0);
        assertEquals(3, nameRecord.getSheetNumber());
    }
View Full Code Here


        assertNull( ish.findFirstRecordBySid(AutoFilterInfoRecord.sid) );

        CellRangeAddress range = CellRangeAddress.valueOf("A1:B10");
        sh.setAutoFilter(range);

        NameRecord name = iwb.getSpecificBuiltinRecord(NameRecord.BUILTIN_FILTER_DB, 1);
        assertNotNull( name );

        // The built-in name for auto-filter must consist of a single Area3d Ptg.
        Ptg[] ptg = name.getNameDefinition();
        assertEquals("The built-in name for auto-filter must consist of a single Area3d Ptg", 1, ptg.length);
        assertTrue("The built-in name for auto-filter must consist of a single Area3d Ptg", ptg[0] instanceof Area3DPtg);

        Area3DPtg aref = (Area3DPtg)ptg[0];
        assertEquals(range.getFirstColumn(), aref.getFirstColumn());
View Full Code Here

        CellRangeAddress range = CellRangeAddress.valueOf("A:B");
        AutoFilter filter = sheet.setAutoFilter(range);
        assertNotNull(filter);
       
        // stored with a special name
        NameRecord record = wb.getWorkbook().getSpecificBuiltinRecord(NameRecord.BUILTIN_FILTER_DB, 1);
        assertNotNull(record);
    }
View Full Code Here

    // collect zero or more DEFINEDNAMEs id=0x18,
    //  with their comments if present
    while(true) {
      Class nextClass = rs.peekNextClass();
      if (nextClass == NameRecord.class) {
        NameRecord nr = (NameRecord)rs.getNext();
        _definedNames.add(nr);
      }
      else if (nextClass == NameCommentRecord.class) {
        NameCommentRecord ncr = (NameCommentRecord)rs.getNext();
        commentRecords.put(ncr.getNameText(), ncr);
View Full Code Here

   */
  public NameRecord getSpecificBuiltinRecord(byte builtInCode, int sheetNumber) {

    Iterator iterator = _definedNames.iterator();
    while (iterator.hasNext()) {
      NameRecord record = ( NameRecord ) iterator.next();

      //print areas are one based
      if (record.getBuiltInName() == builtInCode && record.getSheetNumber() == sheetNumber) {
        return record;
      }
    }

    return null;
View Full Code Here

  }

  public void removeBuiltinRecord(byte name, int sheetIndex) {
    //the name array is smaller so searching through it should be faster than
    //using the findFirstXXXX methods
    NameRecord record = getSpecificBuiltinRecord(name, sheetIndex);
    if (record != null) {
      _definedNames.remove(record);
    }
    // TODO - do we need "Workbook.records.remove(...);" similar to that in Workbook.removeName(int namenum) {}?
  }
View Full Code Here

   */
  public boolean nameAlreadyExists(NameRecord name)
  {
    // Check to ensure no other names have the same case-insensitive name
    for ( int i = getNumNames()-1; i >=0; i-- ) {
      NameRecord rec = getNameRecord(i);
      if (rec != name) {
        if (isDuplicatedNames(name, rec))
          return true;
      }
    }
View Full Code Here

                log.log(POILogger.WARN, "Unsupported BOF found of type " + eb.getType());
            }
        }

        for (int i = 0 ; i < workbook.getNumNames() ; ++i){
            NameRecord nameRecord = workbook.getNameRecord(i);
            HSSFName name = new HSSFName(this, nameRecord, workbook.getNameCommentRecord(nameRecord));
            names.add(name);
        }
    }
View Full Code Here

        workbook.setSheetName(newSheetIndex, name);

        // Check this sheet has an autofilter, (which has a built-in NameRecord at workbook level)
        int filterDbNameIndex = findExistingBuiltinNameRecordIdx(sheetIndex, NameRecord.BUILTIN_FILTER_DB);
        if (filterDbNameIndex != -1) {
            NameRecord newNameRecord = workbook.cloneFilter(filterDbNameIndex, newSheetIndex);
            HSSFName newName = new HSSFName(this, newNameRecord);
            names.add(newName);
        }
        // TODO - maybe same logic required for other/all built-in name records
//        workbook.cloneDrawings(clonedSheet.getSheet());
View Full Code Here

    }


    int findExistingBuiltinNameRecordIdx(int sheetIndex, byte builtinCode) {
        for(int defNameIndex =0; defNameIndex<names.size(); defNameIndex++) {
            NameRecord r = workbook.getNameRecord(defNameIndex);
            if (r == null) {
                throw new RuntimeException("Unable to find all defined names to iterate over");
            }
            if (!r.isBuiltInName() || r.getBuiltInName() != builtinCode) {
                continue;
            }
            if (r.getSheetNumber() -1 == sheetIndex) {
                return defNameIndex;
            }
        }
        return -1;
    }
View Full Code Here

TOP

Related Classes of org.apache.poi.hssf.record.NameRecord

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.