Копировать данные диапазона со стилем
Contents
[
Hide
]
Копировать только данные диапазона объясняет, как скопировать данные из диапазона ячеек в другой диапазон. Aspose.Cells также может скопировать диапазон с форматированием целиком. Эта статья объясняет, как.
Копировать данные диапазона со стилем
Aspose.Cells предоставляет ряд классов и методов для работы с диапазонами, например, createRange(), StyleFlag, applyStyle(), и т.д.
Этот пример:
- Создает рабочую книгу.
- Заполняет ряд ячеек на первом листе данных.
- Создает диапазон.
- Создает объект стиля с указанными атрибутами форматирования.
- Примените стиль к диапазону данных.
- Создайте второй диапазон ячеек.
- Скопируйте данные с форматированием из первого диапазона во второй диапазон.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(CopyRangeDataWithStyle.class); | |
// Instantiate a new Workbook | |
Workbook workbook = new Workbook(); | |
// Get the first Worksheet Cells | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
// Fill some sample data into the cells | |
for (int i = 0; i < 50; i++) { | |
for (int j = 0; j < 10; j++) { | |
cells.get(i, j).putValue(i + "," + j); | |
} | |
} | |
// Create a range (A1:D3). | |
Range range = cells.createRange("A1", "D3"); | |
// Create a style object. | |
Style style = workbook.createStyle(); | |
// Specify the font attribute. | |
style.getFont().setName("Calibri"); | |
// Specify the shading color. | |
style.setForegroundColor(Color.getYellow()); | |
style.setPattern(BackgroundType.SOLID); | |
// Specify the border attributes. | |
style.getBorders().getByBorderType(BorderType.TOP_BORDER).setLineStyle(CellBorderType.THIN); | |
style.getBorders().getByBorderType(BorderType.TOP_BORDER).setColor(Color.getBlue()); | |
style.getBorders().getByBorderType(BorderType.BOTTOM_BORDER).setLineStyle(CellBorderType.THIN); | |
style.getBorders().getByBorderType(BorderType.BOTTOM_BORDER).setColor(Color.getBlue()); | |
style.getBorders().getByBorderType(BorderType.LEFT_BORDER).setLineStyle(CellBorderType.THIN); | |
style.getBorders().getByBorderType(BorderType.LEFT_BORDER).setColor(Color.getBlue()); | |
style.getBorders().getByBorderType(BorderType.RIGHT_BORDER).setLineStyle(CellBorderType.THIN); | |
style.getBorders().getByBorderType(BorderType.RIGHT_BORDER).setColor(Color.getBlue()); | |
// Create the styleflag object. | |
StyleFlag flag = new StyleFlag(); | |
// Implement font attribute | |
flag.setFontName(true); | |
// Implement the shading / fill color. | |
flag.setCellShading(true); | |
// Implment border attributes. | |
flag.setBorders(true); | |
// Set the Range style. | |
range.applyStyle(style, flag); | |
// Create a second range (L9:O11) | |
Range range2 = cells.createRange("L9", "O11"); | |
// Copy the range data with formatting. | |
range2.copy(range); | |
// Save the Excel file. | |
workbook.save(dataDir + "CopyRangeDataWithFormatting.xlsx", SaveFormat.XLSX); |