スタイルのみをコピーします。
Contents
[
Hide
]
Copy Range Data OnlyおよびCopy Range Data with Styleでは、範囲のデータを単独でコピーする方法や書式を含めてコピーする方法について説明しました。また、書式のみをコピーすることも可能です。この記事ではその方法について説明します。
この例では、ワークブックを作成し、データで埋め、範囲のスタイルのみをコピーします。
- 範囲を作成します。
- 指定した書式属性で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-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first Worksheet Cells. | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Fill some sample data into the cells. | |
for (int i = 0; i < 50; i++) | |
{ | |
for (int j = 0; j < 10; j++) | |
{ | |
cells[i, j].PutValue(i.ToString() + "," + j.ToString()); | |
} | |
} | |
// Create a range (A1:D3). | |
Range range = cells.CreateRange("A1", "D3"); | |
// Create a style object. | |
Style style; | |
style = workbook.CreateStyle(); | |
// Specify the font attribute. | |
style.Font.Name = "Calibri"; | |
// Specify the shading color. | |
style.ForegroundColor = Color.Yellow; | |
style.Pattern = BackgroundType.Solid; | |
// Specify the border attributes. | |
style.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin; | |
style.Borders[BorderType.TopBorder].Color = Color.Blue; | |
style.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin; | |
style.Borders[BorderType.BottomBorder].Color = Color.Blue; | |
style.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin; | |
style.Borders[BorderType.LeftBorder].Color = Color.Blue; | |
style.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; | |
style.Borders[BorderType.RightBorder].Color = Color.Blue; | |
// Create the styleflag object. | |
StyleFlag flag1 = new StyleFlag(); | |
// Implement font attribute | |
flag1.FontName = true; | |
// Implement the shading / fill color. | |
flag1.CellShading = true; | |
// Implment border attributes. | |
flag1.Borders = true; | |
// Set the Range style. | |
range.ApplyStyle(style, flag1); | |
// Create a second range (C10:E13). | |
Range range2 = cells.CreateRange("C10", "E13"); | |
// Copy the range style only. | |
range2.CopyStyle(range); | |
dataDir = dataDir + "copyrangestyle.out.xls"; | |
// Save the excel file. | |
workbook.Save(dataDir); |