private long[] toRange(final CTCol col) { return new long[] { col.getMin(), col.getMax() }; }
private boolean isAdjacentBefore(CTCol col, CTCol otherCol) { return col.getMax() == otherCol.getMin() - 1; }
private boolean containsColumn(CTCol col, int columnIndex) { return col.getMin() <= columnIndex && columnIndex <= col.getMax(); }
private boolean columnExists(CTCols cols, long min, long max) { for (CTCol col : cols.getColList()) { if (col.getMin() == min && col.getMax() == max) { return true; } } return false; }
public CTCol cloneCol(CTCols cols, CTCol col) { CTCol newCol = cols.addNewCol(); newCol.setMin(col.getMin()); newCol.setMax(col.getMax()); setColumnAttributes(col, newCol); return newCol; }
/** * Sets all adjacent columns of the same outline level to the specified * hidden status. * * @param pIdx * the col info index of the start of the outline group * @return the column index of the last column in the outline group */ private int setGroupHidden(int pIdx, int level, boolean hidden) { CTCols cols = worksheet.getColsArray(0); int idx = pIdx; CTCol[] colArray = cols.getColArray(); CTCol columnInfo = colArray[idx]; while (idx < colArray.length) { columnInfo.setHidden(hidden); if (idx + 1 < colArray.length) { CTCol nextColumnInfo = colArray[idx + 1]; if (!isAdjacentBefore(columnInfo, nextColumnInfo)) { break; } if (nextColumnInfo.getOutlineLevel() < level) { break; } columnInfo = nextColumnInfo; } idx++; } return (int) columnInfo.getMax(); }
long colMax = col.getMax(); if (colMin <= index1 && colMax >= index1) { if (splitColumns) {
@Override public void ungroupColumn(int fromColumn, int toColumn) { CTCols cols = worksheet.getColsArray(0); for (int index = fromColumn; index <= toColumn; index++) { CTCol col = columnHelper.getColumn(index, false); if (col != null) { short outlineLevel = col.getOutlineLevel(); col.setOutlineLevel((short) (outlineLevel - 1)); index = (int) col.getMax(); if (col.getOutlineLevel() <= 0) { int colIndex = columnHelper.getIndexOfColumn(cols, col); worksheet.getColsArray(0).removeCol(colIndex); } } } worksheet.setColsArray(0, cols); setSheetFormatPrOutlineLevelCol(); }
private void groupColumn1Based(int fromColumn, int toColumn) { CTCols ctCols=worksheet.getColsArray(0); CTCol ctCol=CTCol.Factory.newInstance(); // copy attributes, as they might be removed by merging with the new column // TODO: check if this fix is really necessary or if the sweeping algorithm // in addCleanColIntoCols needs to be adapted ... CTCol fixCol_before = this.columnHelper.getColumn1Based(toColumn, false); if (fixCol_before != null) { fixCol_before = (CTCol)fixCol_before.copy(); } ctCol.setMin(fromColumn); ctCol.setMax(toColumn); this.columnHelper.addCleanColIntoCols(ctCols, ctCol); CTCol fixCol_after = this.columnHelper.getColumn1Based(toColumn, false); if (fixCol_before != null && fixCol_after != null) { this.columnHelper.setColumnAttributes(fixCol_before, fixCol_after); } for(int index=fromColumn;index<=toColumn;index++){ CTCol col=columnHelper.getColumn1Based(index, false); //col must exist short outlineLevel=col.getOutlineLevel(); col.setOutlineLevel((short)(outlineLevel+1)); index=(int)col.getMax(); } worksheet.setColsArray(0,ctCols); setSheetFormatPrOutlineLevelCol(); }
private boolean columnExists(CTCols cols, long min, long max) { for (CTCol col : cols.getColList()) { if (col.getMin() == min && col.getMax() == max) { return true; } } return false; }
private boolean columnExists(CTCols cols, long min, long max) { for (int i = 0; i < cols.sizeOfColArray(); i++) { if (cols.getColArray(i).getMin() == min && cols.getColArray(i).getMax() == max) { return true; } } return false; }
public CTCol cloneCol(CTCols cols, CTCol col) { CTCol newCol = cols.addNewCol(); newCol.setMin(col.getMin()); newCol.setMax(col.getMax()); setColumnAttributes(col, newCol); return newCol; }
public CTCol cloneCol(CTCols cols, CTCol col) { CTCol newCol = cols.addNewCol(); newCol.setMin(col.getMin()); newCol.setMax(col.getMax()); setColumnAttributes(col, newCol); return newCol; }