セルの配置を変更し、既存の書式を保持する
可能な使用シナリオ
時には、複数のセルの配置を変更したいときにも、既存の書式を保持したいことがあります。Aspose.Cellsを使用すると、StyleFlag.Alignmentsプロパティを使用してそれを行うことができます。それをtrueに設定すると、配置の変更が適用されますが、それ以外の場合は適用されません。注意してください、Range.applyStyle()メソッドにパラメータとしてStyleFlagオブジェクトが渡され、実際にセル範囲に書式を適用するメソッドです。
セルの配置を変更し、既存の書式を保持する
次のサンプルコードは、サンプルExcelファイルをロードし、範囲を作成し、水平および垂直に中央揃えにして既存の書式を保持します。次のスクリーンショットは、サンプルExcelファイルと出力Excelファイルを比較し、セルの既存の書式が変更されていないことを示しています(セルは水平および垂直に中央揃えになっています)。
サンプルコード
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Load sample Excel file containing cells with formatting. | |
Workbook wb = new Workbook(srcDir + "sampleChangeCellsAlignmentAndKeepExistingFormatting.xlsx"); | |
// Access first worksheet. | |
Worksheet ws = wb.getWorksheets().get(0); | |
// Create cells range. | |
Range rng = ws.getCells().createRange("B2:D7"); | |
// Create style object. | |
Style st = wb.createStyle(); | |
// Set the horizontal and vertical alignment to center. | |
st.setHorizontalAlignment(TextAlignmentType.CENTER); | |
st.setVerticalAlignment(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.setAlignments(true); | |
// Apply style to range of cells. | |
rng.applyStyle(st, flag); | |
// Save the workbook in XLSX format. | |
wb.save(outDir + "outputChangeCellsAlignmentAndKeepExistingFormatting.xlsx", SaveFormat.XLSX); |