Мне нужно условно раскрасить диапазоны в сводной таблице. Я пытался сделать это таким образом:Как определить, сколько строк генерирует сводная таблица (Aspose Cells)?
private void ColorizeContractItemBlocks(List<string> contractItemDescs)
{
int FIRST_DESCRIPTION_ROW = 7;
int DESCRIPTION_COL = 1;
int ROWS_BETWEEN_DESCRIPTIONS = 4;
int rowsUsed = pivotTableSheet.Cells.Rows.Count;
int currentRowBeingExamined = FIRST_DESCRIPTION_ROW;
// Loop through PivotTable data, colorizing contract items
while (currentRowBeingExamined < rowsUsed)
{
Cell descriptionCell = pivotTableSheet.Cells[currentRowBeingExamined, DESCRIPTION_COL];
String desc = descriptionCell.Value.ToString();
if (contractItemDescs.Contains(desc))
{
// args are firstRow, firstColumn, totalRows, totalColumns
Range rangeToColorize = pivotTableSheet.Cells.CreateRange(
currentRowBeingExamined, 0,
ROWS_BETWEEN_DESCRIPTIONS, _grandTotalsColumnPivotTable + 1);
Style style = workBook.Styles[workBook.Styles.Add()];
style.BackgroundColor = CONTRACT_ITEM_COLOR;
StyleFlag styleFlag = new StyleFlag();
styleFlag.All = true;
rangeToColorize.ApplyStyle(style, styleFlag);
}
currentRowBeingExamined = currentRowBeingExamined + ROWS_BETWEEN_DESCRIPTIONS;
}
}
... но она не работает, потому что rowsUsed не принимает во внимание строки на сводную таблицу на pivotTableSheet, и поэтому мое время цикла никогда не вошел.
Как определить, сколько строк занимает сводная таблица на листе, чтобы я мог прокручивать сводную таблицу?
Или я приближаюсь к этому неправильно? Существует ли другой стандартный способ управления стилями/форматированием сводной таблицы после ее создания?
Желаю вам удачи в ваших будущих начинаниях и * Приключения Марка Твена * –
Спасибо, Джереми! –