スタイルのみをコピーします。
Contents
[
Hide
]
Copy Range Data OnlyとCopy Range Data with Styleでは、範囲から別の範囲にデータを書式付きでコピーする方法について説明しています。この記事では、範囲の書式のみをコピーする方法を示します。
ソースの範囲の行の高さのみをコピー
この例では、ワークブックを作成し、データで埋め、範囲のスタイルのみをコピーします。
- 範囲を作成します。
- 指定された書式属性を持つスタイルオブジェクトを作成します。
- 範囲にスタイルを適用します。
- 別のセルの範囲を作成します。 最初の範囲の書式を2番目の範囲にコピーします。
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(CopyRangeStyleOnly.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 style only. | |
range2.copyStyle(range); | |
// Save the Excel file. | |
workbook.save(dataDir + "CopyRangeStyleOnly.xlsx", SaveFormat.XLSX); |