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

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

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

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

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

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

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

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

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

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

Типы границ Описание
BottomBorder Линия нижней границы
DiagonalDown Диагональная линия от верхнего левого до нижнего правого
DiagonalUp Диагональная линия от нижнего левого до верхнего правого
LeftBorder Линия левой границы
RightBorder Линия правой границы
TopBorder Линия верхней границы

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

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

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

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

Стили линий Описание
DashDot Тонкая пунктирная линия
DashDotDot Тонкая штрих-пунктирная линия
Dashed Пунктирная линия
Dotted Точечная линия
Double Двойная линия
Hair Линия минимальной толщины
MediumDashDot Средняя штрих-пунктирная линия
MediumDashDotDot Средняя штрих-точечно-пунктирная линия
MediumDashed Средняя пунктирная линия
None Нет линии
Medium Средняя линия
SlantedDashDot Наклоненная средняя штрих-пунктирная линия
Thick Толстая линия
Thin Тонкая линия
Выберите один из стилей линий и затем назначьте его для свойства объекта LineStyle Border.
// 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();
// Obtaining the reference of the first (default) worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[0];
// Accessing the "A1" cell from the worksheet
Aspose.Cells.Cell cell = worksheet.Cells["A1"];
// Adding some value to the "A1" cell
cell.PutValue("Visit Aspose!");
// Create a style object
Style style = cell.GetStyle();
// Setting the line style of the top border
style.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thick;
// Setting the color of the top border
style.Borders[BorderType.TopBorder].Color = Color.Black;
// Setting the line style of the bottom border
style.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thick;
// Setting the color of the bottom border
style.Borders[BorderType.BottomBorder].Color = Color.Black;
// Setting the line style of the left border
style.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thick;
// Setting the color of the left border
style.Borders[BorderType.LeftBorder].Color = Color.Black;
// Setting the line style of the right border
style.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thick;
// Setting the color of the right border
style.Borders[BorderType.RightBorder].Color = Color.Black;
// Apply the border styles to the cell
cell.SetStyle(style);
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");

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

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

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

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

  • Тип границы, тип границы, выбранный из перечисления BorderType.
  • Стиль линии, стиль линии границы, выбранный из перечисления CellBorderType.
  • Цвет, цвет линии, выбранный из перечисления Color.
// 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();
// Obtaining the reference of the first (default) worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[0];
// Accessing the "A1" cell from the worksheet
Cell cell = worksheet.Cells["A1"];
// Adding some value to the "A1" cell
cell.PutValue("Hello World From Aspose");
// Creating a range of cells starting from "A1" cell to 3rd column in a row
Range range = worksheet.Cells.CreateRange(0, 0, 1, 3);
// Adding a thick top border with blue line
range.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Thick, Color.Blue);
// Adding a thick bottom border with blue line
range.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Thick, Color.Blue);
// Adding a thick left border with blue line
range.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Thick, Color.Blue);
// Adding a thick right border with blue line
range.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Thick, Color.Blue);
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");