Как установить цвет текста и фона в Spreadsheetgear? - PullRequest
0 голосов
/ 19 апреля 2019

В SpreadsheetGear 2012 я хочу установить:

  • цвет текста на белый.
  • цвет фона ячейки на черный.

I 'Мы пробовали варианты:

Sheet_Obj.Cells(0,0).Style.NumberFormat = "@"
Sheet_Obj.Cells(0,0).Interior.Color = Spreadsheetgear.Color.FromArgb(&H0)
Sheet_Obj.Cells(0,0).Style.Font.Color = SpreadsheetGear.Color.FromArgb(&HFFFFFF)
Sheet_Obj.Cells(0,0).Value = "Terabytes"

Но не смогли заставить что-либо работать.

Пример:

Example

1 Ответ

1 голос
/ 19 апреля 2019

Ваш код смешивается с применением форматирования непосредственно к самой ячейке по сравнению с Стиль ячейки , который использует ячейка. Пожалуйста, смотрите мой ответ здесь для более подробной информации по этому вопросу.

Если вы хотите воздействовать только на определенную ячейку с определенным форматом, вам нужно будет использовать IRange. Interior / IRange. Шрифт .Color / и т. Д. Пример:

Dim workbook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook()
Dim Sheet_Obj As SpreadsheetGear.IWorksheet = workbook.ActiveWorksheet

' This modifies the format of the cell directly.
Sheet_Obj.Cells(0, 0).Interior.Color = SpreadsheetGear.Colors.Black
Sheet_Obj.Cells(0, 0).Font.Color = SpreadsheetGear.Colors.White
Sheet_Obj.Cells(0, 0).NumberFormat = "@"

Если вы хотите, чтобы все ячейки в рабочей книге имели определенный формат, то изменение стиля, для которого используются эти ячейки (который по умолчанию является "обычным" стилем), будет хорошим способом для этого. Вы можете получить доступ к текущему IStyle , используемому определенной ячейкой, через IRange. Стиль . Вы можете получить доступ ко всей коллекции доступных IStyles через IWorkbook. Styles collection. Пример:

' This modifies whatever IStyle is currently used by this cell (probably the "Normal" 
' style).  All other cells which also use this still will be affected as well.
Sheet_Obj.Cells(0, 0).Style.Interior.Color = SpreadsheetGear.Colors.Black
Sheet_Obj.Cells(0, 0).Style.Font.Color = SpreadsheetGear.Colors.White
Sheet_Obj.Cells(0, 0).Style.NumberFormat = "@"

' Assuming you are modifying the "Normal" style, this code is equivalent to the above code.
Dim style As SpreadsheetGear.IStyle = workbook.Styles("Normal")
style.Interior.Color = SpreadsheetGear.Colors.Black
style.Font.Color = SpreadsheetGear.Colors.White
style.NumberFormat = "@"
...