Настройки границ

Добавление границ в ячейки

Microsoft Excel позволяет пользователям форматировать ячейки, добавляя границы. Тип границы зависит от того, куда она добавляется. Например, верхняя граница - это граница, добавленная в верхнюю часть ячейки. Пользователи также могут изменять стиль и цвет линий границ.

С Aspose.Cells для Python via .NET разработчики могут добавлять границы и настраивать их внешний вид так же гибко, как в Microsoft Excel.

Добавление границ в ячейки

Aspose.Cells для Python via .NET предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию worksheets, позволяющую получать доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент коллекции Cells представляет объект класса Cell.

Aspose.Cells для Python via .NET предоставляет метод get_style в классе Cell. Метод set_style используется для установки параметров форматирования ячейки. Класс Style предоставляет свойства для добавления границ к ячейкам.

Добавление границ к ячейке

Разработчики могут добавлять границы к ячейке, используя коллекцию Style объекта borders. Тип границы передается в качестве индекса коллекции borders. Все типы границ предварительно определены в перечислении BorderType.

Перечисление границ

Типы границ Описание
BOTTOM_BORDER Линия нижней границы
DIAGONAL_DOWN Диагональная линия сверху слева вниз направо
DIAGONAL_UP Диагональная линия снизу слева вверх направо
LEFT_BORDER Линия левой границы
RIGHT_BORDER Линия правой границы
TOP_BORDER Линия верхней границы

The borders collection stores all borders. Each border in the Borders collection is represented by a Border object which provides two properties, color and line_style to set a border’s line color and style respectively.

Установка цвета линии границы осуществляется путем выбора цвета с использованием перечисления Color (часть .NET Framework) и присваивания его свойству Color объекта Border.

Стиль линии границы устанавливается путем выбора стиля линии из перечисления CellBorderType.

Перечисление типов границ ячейки

Стили линий Описание
DASH_DOT Тонкая пунктирно-точечная линия
DASH_DOT_DOT Тонкая двойная пунктирно-точечная линия
DASHED Пунктирная линия
DOTTED Точечная линия
DOUBLE Двойная линия
HAIR Линия тонкая как нить
MEDIUM_DASH_DOT Средняя пунктирно-точечная линия
MEDIUM_DASH_DOT_DOT Средняя двойная пунктирно-точечная линия
MEDIUM_DASHED Средняя пунктирная линия
NONE Нет линии
MEDIUM Средняя линия
SLANTED_DASH_DOT Наклонная пунктирная линия
THICK Толстая линия
THIN Тонкая линия
Выберите один из стилей линий и затем назначьте его для свойства объекта line_style Border.
from aspose.cells import BorderType, CellBorderType, Workbook
from aspose.pydrawing import Color
from os import os, path
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create directory if it is not already present.
IsExists = path.isdir(dataDir)
if notIsExists:
os.makedirs(dataDir)
# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the first (default) worksheet by passing its sheet index
worksheet = workbook.worksheets[0]
# Accessing the "A1" cell from the worksheet
cell = worksheet.cells.get("A1")
# Adding some value to the "A1" cell
cell.put_value("Visit Aspose!")
# Create a style object
style = cell.get_style()
# Setting the line style of the top border
style.borders.get(BorderType.TOP_BORDER).line_style = CellBorderType.THICK
# Setting the color of the top border
style.borders.get(BorderType.TOP_BORDER).color = Color.black
# Setting the line style of the bottom border
style.borders.get(BorderType.BOTTOM_BORDER).line_style = CellBorderType.THICK
# Setting the color of the bottom border
style.borders.get(BorderType.BOTTOM_BORDER).color = Color.black
# Setting the line style of the left border
style.borders.get(BorderType.LEFT_BORDER).line_style = CellBorderType.THICK
# Setting the color of the left border
style.borders.get(BorderType.LEFT_BORDER).color = Color.black
# Setting the line style of the right border
style.borders.get(BorderType.RIGHT_BORDER).line_style = CellBorderType.THICK
# Setting the color of the right border
style.borders.get(BorderType.RIGHT_BORDER).color = Color.black
# Apply the border styles to the cell
cell.set_style(style)
# Saving the Excel file
workbook.save(dataDir + "book1.out.xls")

Добавление границ для диапазона ячеек

Также есть возможность добавить границы для диапазона ячеек, а не только для одной ячейки. Для этого сначала создайте диапазон ячеек, вызвав метод create_range коллекции Cells. Он принимает следующие параметры:

  • Первая строка, первая строка диапазона.
  • Первый столбец, представляет первый столбец диапазона.
  • Количество строк, количество строк в диапазоне.
  • Количество столбцов, количество столбцов в диапазоне.

Метод create_range возвращает объект Range, который содержит указанный диапазон ячеек. Объект Range предоставляет метод set_outline_border, который принимает следующие параметры для добавления границы к диапазону ячеек:

  • Тип границы, тип границы, выбранный из перечисления BorderType.
  • Стиль линии, стиль линии границы, выбранный из перечисления CellBorderType.
  • Цвет, цвет линии, выбранный из перечисления Color.
from aspose.cells import BorderType, CellBorderType, Workbook
from aspose.pydrawing import Color
from os import os, path
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create directory if it is not already present.
IsExists = path.isdir(dataDir)
if notIsExists:
os.makedirs(dataDir)
# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the first (default) worksheet by passing its sheet index
worksheet = workbook.worksheets[0]
# Accessing the "A1" cell from the worksheet
cell = worksheet.cells.get("A1")
# Adding some value to the "A1" cell
cell.put_value("Hello World From Aspose")
# Creating a range of cells starting from "A1" cell to 3rd column in a row
range = worksheet.cells.create_range(0, 0, 1, 3)
# Adding a thick top border with blue line
range.set_outline_border(BorderType.TOP_BORDER, CellBorderType.THICK, Color.blue)
# Adding a thick bottom border with blue line
range.set_outline_border(BorderType.BOTTOM_BORDER, CellBorderType.THICK, Color.blue)
# Adding a thick left border with blue line
range.set_outline_border(BorderType.LEFT_BORDER, CellBorderType.THICK, Color.blue)
# Adding a thick right border with blue line
range.set_outline_border(BorderType.RIGHT_BORDER, CellBorderType.THICK, Color.blue)
# Saving the Excel file
workbook.save(dataDir + "book1.out.xls")