protected void createEmpty() { field_3_enclosing_cell_range = new CellRangeAddress(0, 0, 0, 0); field_4_cell_ranges = new CellRangeAddressList(); } protected void read(RecordInputStream in) {
public CellRangeAddressList copy() { CellRangeAddressList result = new CellRangeAddressList(); int nItems = _list.size(); for (int k = 0; k < nItems; k++) { CellRangeAddress region = _list.get(k); result.addCellRangeAddress(region.copy()); } return result; } public CellRangeAddress[] getCellRangeAddresses() {
public CellRangeAddress[] getCellRanges() { return field_4_cell_ranges.getCellRangeAddresses(); }
public String toString() { StringBuilder buffer = new StringBuilder(); buffer.append("[").append(getRecordName()).append("]\n"); buffer.append("\t.numCF = ").append(getNumberOfConditionalFormats()).append("\n"); buffer.append("\t.needRecalc = ").append(getNeedRecalculation()).append("\n"); buffer.append("\t.id = ").append(getID()).append("\n"); buffer.append("\t.enclosingCellRange= ").append(getEnclosingCellRange()).append("\n"); buffer.append("\t.cfranges=["); for( int i=0; i<field_4_cell_ranges.countRanges(); i++) { buffer.append(i==0?"":",").append(field_4_cell_ranges.getCellRangeAddress(i)); } buffer.append("]\n"); buffer.append("[/").append(getRecordName()).append("]\n"); return buffer.toString(); }
CellRangeAddress[] cellRangeAddresses = cellRangeAddressList.getCellRangeAddresses(); if (cellRangeAddresses == null || cellRangeAddresses.length == 0) { continue; CellRangeAddressList newCellRangeAddressList = new CellRangeAddressList(); boolean validationContains = false; for (CellRangeAddress cellRangeAddress : cellRangeAddresses) { newCellRangeAddressList.addCellRangeAddress(rowStartIndex, configColIndex, sheet.getLastRowNum(), configColIndex); validationContains = true; int i = templateRowEndIndex; for (; i < count; i++) { newCellRangeAddressList.addCellRangeAddress(start + i * step, configColIndex, end + i * step, configColIndex); validationContains = true; long _end = end + i * step; _end = _end < lastRow ? _end : lastRow; newCellRangeAddressList.addCellRangeAddress((int) _start, configColIndex, (int) _end, configColIndex); validationContains = true;
CellRangeAddressList addressListStatus = new CellRangeAddressList(0, 65535, 9, 9); DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(strStatus); DataValidation dataValidation = new HSSFDataValidation(addressListStatus, dvConstraint); String reference = addressListStatus.getCellRangeAddress(0).formatAsString(sheetName, true); name.setRefersToFormula(reference);
/** * Convenience constructor for creating a <tt>CellRangeAddressList</tt> with a single * <tt>CellRangeAddress</tt>. Other <tt>CellRangeAddress</tt>es may be added later. */ public CellRangeAddressList(int firstRow, int lastRow, int firstCol, int lastCol) { this(); addCellRangeAddress(firstRow, firstCol, lastRow, lastCol); } /**
@Override protected int getDataSize() { return CellRangeAddressList.getEncodedSize(_numberOfRegions); }
protected void copyTo(CFHeaderBase result) { result.field_1_numcf = field_1_numcf; result.field_2_need_recalculation_and_id = field_2_need_recalculation_and_id; result.field_3_enclosing_cell_range = field_3_enclosing_cell_range.copy(); result.field_4_cell_ranges = field_4_cell_ranges.copy(); }
public String toString() { StringBuffer sb = new StringBuffer(); sb.append("[DV]\n"); sb.append(" options=").append(Integer.toHexString(_option_flags)); sb.append(" title-prompt=").append(formatTextTitle(_promptTitle)); sb.append(" title-error=").append(formatTextTitle(_errorTitle)); sb.append(" text-prompt=").append(formatTextTitle(_promptText)); sb.append(" text-error=").append(formatTextTitle(_errorText)); sb.append("\n"); appendFormula(sb, "Formula 1:", _formula1); appendFormula(sb, "Formula 2:", _formula2); sb.append("Regions: "); int nRegions = _regions.countRanges(); for(int i=0; i<nRegions; i++) { if (i>0) { sb.append(", "); } CellRangeAddress addr = _regions.getCellRangeAddress(i); sb.append('(').append(addr.getFirstRow()).append(',').append(addr.getLastRow()); sb.append(',').append(addr.getFirstColumn()).append(',').append(addr.getLastColumn()).append(')'); } sb.append("\n"); sb.append("[/DV]"); return sb.toString(); }
/** * Add a cell range structure. * * @param firstRow - the upper left hand corner's row * @param firstCol - the upper left hand corner's col * @param lastRow - the lower right hand corner's row * @param lastCol - the lower right hand corner's col */ public void addCellRangeAddress(int firstRow, int firstCol, int lastRow, int lastCol) { CellRangeAddress region = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol); addCellRangeAddress(region); } public void addCellRangeAddress(CellRangeAddress cra) {
public int getRecordSize() { // a bit cheaper than the default impl int nRegions = _mergedRegions.size(); if (nRegions < 1) { // no need to write a single empty MergeCellsRecord return 0; } int nMergedCellsRecords = nRegions / MAX_MERGED_REGIONS; int nLeftoverMergedRegions = nRegions % MAX_MERGED_REGIONS; return nMergedCellsRecords * (4 + CellRangeAddressList.getEncodedSize(MAX_MERGED_REGIONS)) + 4 + CellRangeAddressList.getEncodedSize(nLeftoverMergedRegions); }
@Override public void visitRecord(Record r) { if (!(r instanceof DVRecord)) { return; } DVRecord dvRecord = (DVRecord) r; CellRangeAddressList regions = dvRecord.getCellRangeAddress().copy(); DVConstraint constraint = DVConstraint.createDVConstraint(dvRecord, book); HSSFDataValidation hssfDataValidation = new HSSFDataValidation(regions, constraint); hssfDataValidation.setErrorStyle(dvRecord.getErrorStyle()); hssfDataValidation.setEmptyCellAllowed(dvRecord.getEmptyCellAllowed()); hssfDataValidation.setSuppressDropDownArrow(dvRecord.getSuppressDropdownArrow()); hssfDataValidation.createPromptBox(dvRecord.getPromptTitle(), dvRecord.getPromptText()); hssfDataValidation.setShowPromptBox(dvRecord.getShowPromptOnCellSelected()); hssfDataValidation.createErrorBox(dvRecord.getErrorTitle(), dvRecord.getErrorText()); hssfDataValidation.setShowErrorBox(dvRecord.getShowErrorOnInvalidValue()); hssfValidations.add(hssfDataValidation); } };
protected void read(RecordInputStream in) { field_1_numcf = in.readShort(); field_2_need_recalculation_and_id = in.readShort(); field_3_enclosing_cell_range = new CellRangeAddress(in); field_4_cell_ranges = new CellRangeAddressList(in); }
/** * Set cell ranges list to a single cell range and * modify the enclosing cell range accordingly. * @param cellRanges - list of CellRange objects */ public void setCellRanges(CellRangeAddress[] cellRanges) { if(cellRanges == null) { throw new IllegalArgumentException("cellRanges must not be null"); } CellRangeAddressList cral = new CellRangeAddressList(); CellRangeAddress enclosingRange = null; for (CellRangeAddress cr : cellRanges) { enclosingRange = CellRangeUtil.createEnclosingCellRange(cr, enclosingRange); cral.addCellRangeAddress(cr); } field_3_enclosing_cell_range = enclosingRange; field_4_cell_ranges = cral; }
public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("[CFHEADER]\n"); buffer.append(" .id = ").append(Integer.toHexString(sid)).append("\n"); buffer.append(" .numCF = ").append(getNumberOfConditionalFormats()).append("\n"); buffer.append(" .needRecalc = ").append(getNeedRecalculation()).append("\n"); buffer.append(" .enclosingCellRange= ").append(getEnclosingCellRange()).append("\n"); buffer.append(" .cfranges=["); for( int i=0; i<field_4_cell_ranges.countRanges(); i++) { buffer.append(i==0?"":",").append(field_4_cell_ranges.getCellRangeAddress(i).toString()); } buffer.append("]\n"); buffer.append("[/CFHEADER]\n"); return buffer.toString(); }
public String prettyPrint() { StringBuilder builder = new StringBuilder(); for(CellRangeAddress address : regions.getCellRangeAddresses()) { builder.append(address.formatAsString()); } builder.append(" => "); builder.append(this.validationConstraint.prettyPrint()); return builder.toString(); }
/** * Convenience constructor for creating a <tt>CellRangeAddressList</tt> with a single * <tt>CellRangeAddress</tt>. Other <tt>CellRangeAddress</tt>es may be added later. */ public CellRangeAddressList(int firstRow, int lastRow, int firstCol, int lastCol) { this(); addCellRangeAddress(firstRow, firstCol, lastRow, lastCol); } /**
public int getSize() { return getEncodedSize(_list.size()); } /**
public Object clone() { CFHeaderRecord result = new CFHeaderRecord(); result.field_1_numcf = field_1_numcf; result.field_2_need_recalculation = field_2_need_recalculation; result.field_3_enclosing_cell_range = field_3_enclosing_cell_range; result.field_4_cell_ranges = field_4_cell_ranges.copy(); return result; } }