Настройки заливки
Цвета и фоновые узоры
Microsoft Excel может устанавливать передний (контур) и задний (заливка) цвета ячеек и фоновые узоры.
Aspose.Cells также поддерживает эти функции гибким образом. В этой теме мы узнаем, как использовать эти функции с использованием Aspose.Cells.
Настройка цветов и фоновых узоров
Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию Worksheets, которая позволяет получить доступ к каждому листу Excel-файла. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в коллекции Cells представляет объект класса Cell.
У класса Cell есть методы GetStyle и SetStyle, которые используются для получения и установки форматирования ячейки. Класс Style предоставляет свойства для установки переднего и заднего цветов ячеек. Aspose.Cells предоставляет перечисление BackgroundType, которое содержит набор предопределенных типов фоновых узоров, приведенных ниже.
Фоновые узоры | Описание |
---|---|
DiagonalCrosshatch | Представляет диагональный рисунок косой крест |
DiagonalStripe | Представляет диагональную полосу |
Gray6 | Представляет 6,25% серый узор |
Gray12 | Представляет 12,5% серый узор |
Gray25 | Представляет 25% серый узор |
Gray50 | Представляет 50% серый узор |
Gray75 | Представляет 75% серый узор |
HorizontalStripe | Представляет горизонтальный узор полосы |
None | Представляет отсутствие фона |
ReverseDiagonalStripe | Представляет обратный диагональный узор полосы |
Solid | Представляет сплошной узор |
ThickDiagonalCrosshatch | Представляет толстый диагональный крестовый узор |
ThinDiagonalCrosshatch | Представляет тонкий диагональный крестовый узор |
ThinDiagonalStripe | Представляет тонкий диагональный узор полосы |
ThinHorizontalCrosshatch | Представляет тонкий горизонтальный крестовый узор |
ThinHorizontalStripe | Представляет тонкий горизонтальный узор полосы |
ThinReverseDiagonalStripe | Представляет тонкий обратный диагональный узор полосы |
ThinVerticalStripe | Представляет тонкий вертикальный узор полосы |
VerticalStripe | Представляет вертикальный узор полосы |
В приведенном ниже примере цвет переднего плана ячейки A1 установлен, но ячейка A2 настроена иметь как передний, так и фоновый цвета с фоновым узором вертикальных полос.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Workbook object | |
int i = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[i]; | |
// Define a Style and get the A1 cell style | |
Style style = worksheet.Cells["A1"].GetStyle(); | |
// Setting the foreground color to yellow | |
style.ForegroundColor = Color.Yellow; | |
// Setting the background pattern to vertical stripe | |
style.Pattern = BackgroundType.VerticalStripe; | |
// Apply the style to A1 cell | |
worksheet.Cells["A1"].SetStyle(style); | |
// Get the A2 cell style | |
style = worksheet.Cells["A2"].GetStyle(); | |
// Setting the foreground color to blue | |
style.ForegroundColor = Color.Blue; | |
// Setting the background color to yellow | |
style.BackgroundColor = Color.Yellow; | |
// Setting the background pattern to vertical stripe | |
style.Pattern = BackgroundType.VerticalStripe; | |
// Apply the style to A2 cell | |
worksheet.Cells["A2"].SetStyle(style); | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls", SaveFormat.Excel97To2003); |
Важно знать
- Чтобы установить передний или фоновый цвет ячейки, используйте свойства объекта Style ForegroundColor или BackgroundColor. Оба свойства вступят в силу только в том случае, если свойство Pattern объекта Style будет настроено.
- Свойство ForegroundColor задает цвет тени ячейки. Свойство Pattern указывает тип используемого фонового узора для переднего или фонового цвета. Aspose.Cells предоставляет перечисление BackgroundType содержащее набор предопределенных типов фоновых узоров.
- Если вы выберете значение BackgroundType.None из перечисления BackgroundType, то передний цвет не будет применен. Аналогично, фоновый цвет не будет применен, если вы выберете значения BackgroundType.None или BackgroundType.Solid.
- При извлечении цвета тени ячейки, если Style.Pattern равно BackgroundType.None, Style.ForegroundColor вернет Color.Empty.
Применение эффектов градиентного заливки
Чтобы применить желаемые эффекты градиентного заливки к ячейке, используйте метод SetTwoColorGradient объекта Style соответственно.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a new Workbook | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet (default) in the workbook | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Input a value into B3 cell | |
worksheet.Cells[2, 1].PutValue("test"); | |
// Get the Style of the cell | |
Style style = worksheet.Cells["B3"].GetStyle(); | |
// Set Gradient pattern on | |
style.IsGradient = true; | |
// Specify two color gradient fill effects | |
style.SetTwoColorGradient(Color.FromArgb(255, 255, 255), Color.FromArgb(79, 129, 189), GradientStyleType.Horizontal, 1); | |
// Set the color of the text in the cell | |
style.Font.Color = Color.Red; | |
// Specify horizontal and vertical alignment settings | |
style.HorizontalAlignment = TextAlignmentType.Center; | |
style.VerticalAlignment = TextAlignmentType.Center; | |
// Apply the style to the cell | |
worksheet.Cells["B3"].SetStyle(style); | |
// Set the third row height in pixels | |
worksheet.Cells.SetRowHeightPixel(2, 53); | |
// Merge the range of cells (B3:C3) | |
worksheet.Cells.Merge(2, 1, 1, 2); | |
// Save the Excel file | |
workbook.Save(dataDir + "output.xlsx"); |
Цвета и палитра
Палитра - это количество цветов, доступных для использования при создании изображения. Использование стандартной палитры в презентации позволяет пользователю создавать однородный вид. Каждый файл Microsoft Excel (97-2003) имеет палитру из 56 цветов, которые могут быть применены к ячейкам, шрифтам, сеткам, графическим объектам, заливкам и линиям в диаграмме.
С помощью Aspose.Cells можно использовать не только существующие цвета палитры, но и пользовательские цвета. Прежде чем использовать пользовательский цвет, сначала добавьте его в палитру.
Эта тема обсуждает, как добавить пользовательские цвета в палитру.
Добавление пользовательских цветов в палитру
Aspose.Cells поддерживает 56-цветную палитру Microsoft Excel. Для использования пользовательского цвета, который не определен в палитре, добавьте цвет в палитру.
Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит метод ChangePalette, который принимает следующие параметры для добавления пользовательского цвета для изменения палитры:
- Пользовательский цвет, пользовательский цвет, который будет добавлен.
- Индекс, индекс цвета в палитре, который будет заменен пользовательским цветом. Должен быть от 0 до 55.
Приведенный ниже пример добавляет пользовательский цвет (Орхидея) в палитру перед его применением к шрифту.
// Instantiating an Workbook object | |
Workbook workbook = new Workbook(); | |
//Checks if a color is in the palette for the spreadsheet. | |
Console.WriteLine(workbook.IsColorInPalette(Color.Orchid)); | |
// Adding Orchid color to the palette at 55th index | |
workbook.ChangePalette(Color.Orchid, 55); | |
Console.WriteLine(workbook.IsColorInPalette(Color.Orchid)); | |
// Adding a new worksheet to the Excel object | |
int i = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[i]; | |
// Accessing the "A1" cell from the worksheet | |
Cell cell = worksheet.Cells["A1"]; | |
// Adding some value to the "A1" cell | |
cell.PutValue("Hello Aspose!"); | |
// Defining new Style object | |
Style styleObject = workbook.CreateStyle(); | |
// Setting the Orchid (custom) color to the font | |
styleObject.Font.Color = workbook.Colors[55]; | |
// Applying the style to the cell | |
cell.SetStyle(styleObject); | |
// Saving the Excel file | |
workbook.Save("out.xlsx"); |