既存のスタイルをC++で変更する
Contents
 [
      
        Hide
      ]
    セルに同じフォーマットオプションを適用するには、新しいフォーマットスタイルオブジェクトを作成します。フォーマットスタイルオブジェクトは、フォント、フォントサイズ、インデント、数値、罫線、パターンなどのフォーマット特性を組み合わせたものであり、名前が付けられ、セットとして保存されます。適用されると、そのスタイルのすべてのフォーマットが適用されます。
既存のスタイルを使用して、ブックと共に保存し、同じ属性で情報を書式設定することもできます。
セルが明示的にフォーマットされていない場合、通常スタイル(ワークブックのデフォルトスタイル)が適用されます。Microsoft Excelでは、通常スタイルに加えてComma、Currency、Percentなどのスタイルがいくつか事前に定義されています。
Aspose.Cellsを使用すると、これらのスタイルのいずれか、または独自の属性で定義したスタイルを修正することができます。
Microsoft Excel の使用
Microsoft Excel 97-2003でスタイルを更新するには:
- 書式メニューで スタイル をクリックします。
 - スタイル名 リストから変更したいスタイルを選択します。
 - 変更 をクリックします。
 - 「セルの書式設定」ダイアログのタブを使用して、望むスタイルオプションを選択します。
 - OK をクリックします。
 - スタイルに含まれるもの で、希望するスタイルの機能を指定します。
 - OK をクリックしてスタイルを保存し、選択した範囲に適用します。
 
Aspose.Cellsの使用
次の例はStyle.Updateメソッドの使用方法を示しています。
スタイルの作成と変更
この例は、Styleオブジェクトを作成し、それをセル範囲に適用し、Styleオブジェクトを変更します。変更は自動的にセルとスタイルが適用された範囲に反映されます。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
    Aspose::Cells::Startup();
    // For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
    // Create a workbook.
    Workbook workbook;
    // Create a new style object.
    Style style = workbook.CreateStyle();
    // Set the number format.
    style.SetNumber(14);
    // Set the font color to red color.
    style.GetFont().SetColor(Color::Red());
    // Name the style.
    style.SetName(u"Date1");
    // Get the first worksheet cells.
    Cells cells = workbook.GetWorksheets().Get(0).GetCells();
    // Specify the style (described above) to A1 cell.
    cells.Get(u"A1").SetStyle(style);
    // Create a range (B1:D1).
    Range range = cells.CreateRange(u"B1", u"D1");
    // Initialize styleflag object.
    StyleFlag flag;
    // Set all formatting attributes on.
    flag.SetAll(true);
    // Apply the style (described above) to the range.
    range.ApplyStyle(style, flag);
    // Modify the style (described above) and change the font color from red to black.
    style.GetFont().SetColor(Color::Black());
    // Done! Since the named style (described above) has been set to a cell and range,
    // The change would be reflected (new modification is implemented) to cell (A1) and range (B1:D1).
    style.Update();
    // Save the excel file.
    U16String dataDir(u"..\\Data\\02_OutputDirectory\\");
    workbook.Save(dataDir + u"book_styles.out.xls");
    std::cout << "Workbook saved successfully!" << std::endl;
    Aspose::Cells::Cleanup();
}
既存のスタイルの変更
この例では、範囲にすでに適用されているPercentという名前のスタイルが含まれる単純なテンプレートExcelファイルを使用します。具体的な手順は以下の通りです:
- スタイルを取得します。
 - スタイルオブジェクトを作成します。
 - スタイルフォーマットを変更します。
 
変更は自動的に適用された範囲に適用されます。
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main() {
    Aspose::Cells::Startup();
    // For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    // Path of input excel file
    U16String inputPath = srcDir + u"book1.xlsx";
    /*
     * Create a workbook.
     * Open a template file. 
     * In the book1.xlsx file, we have applied Ms Excel's 
     * Named style i.e., "Percent" to the range "A1:C8".
    */
    Workbook workbook(inputPath);
    // We get the Percent style and create a style object.
    Style style = workbook.GetNamedStyle(u"Percent");
    // Change the number format to "0.00%".
    style.SetNumber(11);
    // Set the font color.
    Color redColor = Color::Red();
    style.GetFont().SetColor(redColor);
    // Update the style. so, the style of range "A1:C8" will be changed too.
    style.Update();
    // Save the excel file.	
    U16String outputPath = srcDir + u"book2.out.xlsx";
    workbook.Save(outputPath);
    std::cout << "Workbook saved successfully!" << std::endl;
    Aspose::Cells::Cleanup();
}