セルの配置を変更し、既存の書式を保持する
可能な使用シナリオ
複数のセルの配置を変更したいが、既存の書式設定を保持したい場合、Aspose.Cellsを使用することができます。StyleFlag.Alignmentsプロパティを使用するとそれが可能です。それをtrueに設定すると、配置の変更が適用されますが、そうでない場合は適用されません。また、StyleFlagオブジェクトがRange.ApplyStyle()メソッドにパラメータとして渡され、実際にセルの範囲に書式を適用することになります。
セルの配置を変更し、既存の書式を保持する
次のサンプルコードは、サンプルExcelファイルを読み込み、範囲を作成し、セルの内容を水平および垂直に中央揃えにし、既存の書式をそのまま維持します。次のスクリーンショットは、サンプルExcelファイルと出力されたExcelファイルを比較し、セルの既存の書式が変わらず、ただしセルの中央揃えが水平および垂直に行われたことが示されています。
サンプルコード
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Load sample Excel file containing cells with formatting. | |
Workbook wb = new Workbook(sourceDir + "sampleChangeCellsAlignmentAndKeepExistingFormatting.xlsx"); | |
// Access first worksheet. | |
Worksheet ws = wb.Worksheets[0]; | |
// Create cells range. | |
Range rng = ws.Cells.CreateRange("B2:D7"); | |
// Create style object. | |
Style st = wb.CreateStyle(); | |
// Set the horizontal and vertical alignment to center. | |
st.HorizontalAlignment = TextAlignmentType.Center; | |
st.VerticalAlignment = TextAlignmentType.Center; | |
// Create style flag object. | |
StyleFlag flag = new StyleFlag(); | |
// Set style flag alignments true. It is most crucial statement. | |
// Because if it will be false, no changes will take place. | |
flag.Alignments = true; | |
// Apply style to range of cells. | |
rng.ApplyStyle(st, flag); | |
// Save the workbook in XLSX format. | |
wb.Save(outputDir + "outputChangeCellsAlignmentAndKeepExistingFormatting.xlsx", SaveFormat.Xlsx); |