В двух местах на моем листе мне нужны ячейки с белым шрифтом и черным фоном. В одном месте (строка заголовка) он работает; в другом (значение даты), это не так, и я не вижу, что я делаю по-другому, что может привести к этой ошибке.Почему мой шрифт и фон (передний план) не работают здесь (Aspose Cells)?
Вот код, который работает (для строки заголовка):
CellsFactory cfHeaderRow = new CellsFactory();
Cell headerRowCell;
Style styleHeaderRow;
for (int x = 0; x < drPrices.FieldCount-1; x++)
{
headerRowCell = pricePushSheet.Cells[6, x];
headerRowCell.PutValue(drPrices.GetName(x));
pricePushSheet.Cells.SetColumnWidth(x, 9);
styleHeaderRow = cfHeaderRow.CreateStyle();
styleHeaderRow.HorizontalAlignment = TextAlignmentType.Center;
styleHeaderRow.Font.Color = Color.White;
styleHeaderRow.ForegroundColor = Color.Black;
styleHeaderRow.Pattern = BackgroundType.Solid;
styleHeaderRow.IsTextWrapped = true;
headerRowCell.SetStyle(styleHeaderRow);
}
..И вот код, который не работает (на сегодняшний день подряд кружили на скриншоте ниже):
CellsFactory cfDate = new CellsFactory();
Cell dateCell = pricePushSheet.Cells[3, 4];
Style styleDate = cfDate.CreateStyle();
dateCell.PutValue(pricePushSheet.Cells[7, 1]);
StyleFlag flag2 = new StyleFlag();
flag2.NumberFormat = true;
styleDate.Font.IsBold = true;
styleDate.HorizontalAlignment = TextAlignmentType.Center;
styleDate.Font.Color = Color.White;
styleDate.ForegroundColor = Color.Black;
styleDate.Pattern = BackgroundType.Solid;
styleDate.Custom = "mm/dd/yyyy";
dateCell.SetStyle(styleDate, flag2);
Так что, кажется, отличается (что, возможно, имеет значение) в нерабочем кода является то, что он использует StyleFlag (поскольку необходимо установить формат даты):
StyleFlag flag2 = new StyleFlag();
flag2.NumberFormat = true;
styleDate.Custom = "mm/dd/yyyy";
... и, конечно же, SetStyle принимает флаг как второй arg (рабочий бит кода не нуждается в флагом, потому что он ничего не делает).
Как вы можете видеть ниже, в рассматриваемой ячейке нет даты (E4); он захватывает его с места, которое еще не на листе. Но тот факт, что шрифт черный, а не белый, а фон (называемый foreground by Aspose) белый, а не черный.
Так почему окраска не работает? Что мне нужно сделать или изменить, чтобы заставить его работать в ячейке E4?
Что означает «flag2.Font = true;» означает или делать? –
Ну, он задает все параметры, связанные с шрифтом (атрибуты (под) под шрифтом, например IsBold, Color и т. Д.) До «true». –