Ваш код смешивается с применением форматирования непосредственно к самой ячейке по сравнению с Стиль ячейки , который использует ячейка. Пожалуйста, смотрите мой ответ здесь для более подробной информации по этому вопросу.
Если вы хотите воздействовать только на определенную ячейку с определенным форматом, вам нужно будет использовать 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 = "@"