Настройки границ
Добавление границ в ячейки
Microsoft Excel позволяет пользователям форматировать ячейки, добавляя границы. Тип границы зависит от её расположения. Например, верхняя граница добавляется к верхней стороне ячейки. Также можно изменить стиль линии и цвет границы.
С помощью Aspose.Cells for JavaScript через C++, разработчики могут добавлять границы и настраивать их внешний вид так же гибко, как в Microsoft Excel.
Добавление границ в ячейки
Aspose.Cells предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию worksheets, позволяющую получить доступ к каждому листу в файле Excel. Лист представлен классом Worksheet. Класс Worksheet обеспечивает коллекцию cells. Каждый элемент коллекции cells представляет объект класса Cell.
Aspose.Cells предоставляет свойство style в классе Cell. style используется для установки стиля форматирования ячейки. Класс Style предоставляет свойства для добавления границ к ячейкам.
Добавление границ к ячейке
Разработчики могут добавлять границы к ячейке, используя коллекцию borders объекта Style. Тип границы передается как индекс в коллекцию borders. Все типы границ предопределены в перечислении BorderType.
Перечисление границ
| Типы границ | Описание |
|---|---|
| BottomBorder | Линия нижней границы |
| DiagonalDown | Диагональная линия от верхнего левого до нижнего правого |
| DiagonalUp | Диагональная линия от нижнего левого до верхнего правого |
| LeftBorder | Линия левой границы |
| RightBorder | Линия правой границы |
| TopBorder | Линия верхней границы |
Коллекция borders хранит все границы. Каждая граница в коллекции borders представлена объектом Border, который обеспечивает два свойства: color и lineStyle для установки цвета линии границы и стиля соответственно.
Чтобы установить цвет линии границы, выберите цвет с помощью перечисления Color (часть JavaScript) и присвойте его свойству color объекта Border.
Стиль линии границы устанавливается выбором стиля линии из перечисления CellBorderType.
Перечисление типов границ ячейки
| Стили линий | Описание |
|---|---|
| DashDot | Тонкая пунктирная линия |
| DashDotDot | Тонкая штрих-пунктирная линия |
| Dashed | Пунктирная линия |
| Dotted | Точечная линия |
| Double | Двойная линия |
| Hair | Линия минимальной толщины |
| MediumDashDot | Средняя штрих-пунктирная линия |
| MediumDashDotDot | Средняя штрих-точечно-пунктирная линия |
| MediumDashed | Средняя пунктирная линия |
| None | Нет линии |
| Medium | Средняя линия |
| SlantedDashDot | Наклоненная средняя штрих-пунктирная линия |
| Thick | Толстая линия |
| Thin | Тонкая линия |
| Выберите один из стилей линий и затем присвойте его свойству lineStyle объекта Border. |
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Add Borders to A1 Cell Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, Worksheet, Cell } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
// This example creates a new workbook and adds borders to cell A1.
// No try/catch is used so errors propagate for testing.
// Instantiating a Workbook object
const workbook = new Workbook();
// Obtaining the reference of the first (default) worksheet by passing its sheet index
const worksheet = workbook.worksheets.get(0);
// Accessing the "A1" cell from the worksheet
const cell = worksheet.cells.get("A1");
// Adding some value to the "A1" cell
cell.value = "Visit Aspose!";
// Create a style object
const style = cell.style;
// Setting the line style and color of the top border
style.borders.get(AsposeCells.BorderType.TopBorder).lineStyle = AsposeCells.CellBorderType.Thick;
style.borders.get(AsposeCells.BorderType.TopBorder).color = AsposeCells.Color.Black;
// Setting the line style and color of the bottom border
style.borders.get(AsposeCells.BorderType.BottomBorder).lineStyle = AsposeCells.CellBorderType.Thick;
style.borders.get(AsposeCells.BorderType.BottomBorder).color = AsposeCells.Color.Black;
// Setting the line style and color of the left border
style.borders.get(AsposeCells.BorderType.LeftBorder).lineStyle = AsposeCells.CellBorderType.Thick;
style.borders.get(AsposeCells.BorderType.LeftBorder).color = AsposeCells.Color.Black;
// Setting the line style and color of the right border
style.borders.get(AsposeCells.BorderType.RightBorder).lineStyle = AsposeCells.CellBorderType.Thick;
style.borders.get(AsposeCells.BorderType.RightBorder).color = AsposeCells.Color.Black;
// Apply the border styles to the cell
cell.style = style;
// Saving the Excel file
const outputData = workbook.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'book1.out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Workbook created and styled successfully! Click the download link to get the file.</p>';
});
</script>
</html>
Добавление границ для диапазона ячеек
Также возможно добавлять границы к диапазону ячеек, а не только к одной ячейке. Для этого сначала создайте диапазон ячеек, вызвав метод createRange коллекции cells. Он принимает следующие параметры:
- Первая строка, первая строка диапазона.
- Первый столбец, представляет первый столбец диапазона.
- Количество строк, количество строк в диапазоне.
- Количество столбцов, количество столбцов в диапазоне.
Метод createRange возвращает объект Range, который содержит указанный диапазон ячеек. Объект Range предоставляет метод outlineBorder, который принимает следующие параметры для добавления границы к диапазону ячеек:
- Тип границы, тип границы, выбранный из перечисления BorderType.
- Стиль линии, стиль линии границы, выбранный из перечисления CellBorderType.
- Цвет, цвет линии, выбранный из перечисления Color.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Example - Create Workbook and Apply Borders</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, BorderType, CellBorderType, Color } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
// This example creates a new workbook, writes to A1, creates a range and applies borders, then offers the file for download.
const workbook = new Workbook();
const worksheet = workbook.worksheets.get(0);
const cell = worksheet.cells.get("A1");
cell.putValue("Hello World From Aspose");
const range = worksheet.cells.createRange(0, 0, 1, 3);
// Applying borders using property assignment conversions for setter methods
range.outlineBorder = [BorderType.TopBorder, CellBorderType.Thick, Color.Blue];
range.outlineBorder = [BorderType.BottomBorder, CellBorderType.Thick, Color.Blue];
range.outlineBorder = [BorderType.LeftBorder, CellBorderType.Thick, Color.Blue];
range.outlineBorder = [BorderType.RightBorder, CellBorderType.Thick, Color.Blue];
const outputData = workbook.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'book1.out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Workbook created and borders applied successfully! Click the download link to get the file.</p>';
});
</script>
</html>