ワークシートを作成する際、MS Excel のデフォルトフォントは「Calibri」で、サイズは11、色は黒です。ただし、文書の外観を最適化するために太字や斜体など異なるフォントスタイルを適用したり、大量のデータの中から重要な情報を強調するために特定のフォント色を設定したりする必要がある場合があります。この記事では、Spire.XLS for C++ を使用して C++ で Excel のセルにフォントを適用する方法について説明します。
Spire.XLS for C++ をインストールします
Spire.XLS for C++ をアプリケーションに組み込むには、2つの方法があります。一つは NuGet 経由でインストールする方法、もう一つは当社のウェブサイトからパッケージをダウンロードし、ライブラリをプログラムにコピーする方法です。NuGet 経由のインストールの方が便利で、より推奨されます。詳しくは、以下のリンクからご覧いただけます。
Spire.XLS for C++ を C++ アプリケーションに統合する方法
異なる Excel セルに異なるフォントを適用する
Spire.XLS for C++ によって提供される ExcelFont クラスを使用すると、セル内のフォント名、色、サイズ、およびスタイルを設定または変更できます。以下は、Excel のさまざまなセルに異なるまなフォントを適用する手順です。
- Workbook オブジェクトを作成します。
- Workbook->GetWorksheets()->Get() メソッドを使用して特定のワークシートを取得します。
- Worksheet->GetRange() メソッドを使用して、指定されたセルを取得します。
- CellRange->SetText() メソッドを使用してセルの値を設定します。
- CellRange->GetStyle()->GetFont() メソッドを使用して、指定されたセルのフォントを取得します。
- ExcelFont クラスのメソッドを使用して、フォント名、色、サイズ、およびスタイルを設定します。
- Workbook->SaveToFile() メソッドを使用して結果ファイルを保存します。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main() {
//出力ファイルのパスと名前を指定する
std::wstring outputPath = L"Output\\";
std::wstring outputFile = outputPath + L"ApplyFontToCell.xlsx";
//Workbookオブジェクトを作成する
Workbook* workbook = new Workbook();
//最初のシートを取得する
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//フォント名を設定する
sheet->GetRange(L"B1")->SetText(L"フォント名: Yu Mincho");
sheet->GetRange(L"B1")->GetStyle()->GetFont()->SetFontName(L" Yu Mincho ");
//フォントサイズを設定する
sheet->GetRange(L"B2")->SetText(L"フォントサイズ: 25");
sheet->GetRange(L"B2")->GetStyle()->GetFont()->SetSize(25);
//テキストを太字に設定する
sheet->GetRange(L"B3")->SetText(L"フォントスタイル: 太字");
sheet->GetRange(L"B3")->GetStyle()->GetFont()->SetIsBold(true);
//テキストに下線を追加する
sheet->GetRange(L"B4")->SetText(L"フォントスタイル: 下線");
sheet->GetRange(L"B4")->GetStyle()->GetFont()->SetUnderline(FontUnderlineType::Single);
//フォント色を設定する
sheet->GetRange(L"B5")->SetText(L"フォント色: 赤色");
sheet->GetRange(L"B5")->GetStyle()->GetFont()->SetColor(Spire::Common::Color::GetRed());
//テキストを斜体に設定する
sheet->GetRange(L"B6")->SetText(L"フォントスタイル: 斜体");
sheet->GetRange(L"B6")->GetStyle()->GetFont()->SetIsItalic(true);
//テキストに削除線を追加する
sheet->GetRange(L"B7")->SetText(L"フォントスタイル: 削除線");
sheet->GetRange(L"B7")->GetStyle()->GetFont()->SetIsStrikethrough(true);
//結果ファイルに保存する
workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
workbook->Dispose();
}
単一の Excel セルに複数のフォントを適用する
単一の Excel セルに複数のフォントを適用することで、特定の文字を強調するのに役立ちます。以下は、単一のセルに複数のフォントを適用する手順です。
- Workbook オブジェクトを作成します。
- Workbook->GetWorksheets()->Get() メソッドを使用して特定のワークシートを取得します。
- Workbook->CreateExcelFont() メソッドを使用して 2 つの ExcelFont オブジェクトを作成します。
- Worksheet->GetRange() メソッドを使用して指定されたセルを取得します。
- 次に、CellRange->GetRichText()->SetText() メソッドを使用してセルのリッチテキストのコンテンツを設定します。
- RichText->SetFont(int startPos, int endPos, ExcelFont* font) メソッドを使用して、2 つの ExcelFont オブジェクトをリッチ テキストに適用します。
- Workbook->SaveToFile() メソッドを使用して結果ファイルを保存します。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main() {
//出力ファイルのパスと名前を指定する
std::wstring outputPath = L"Output\\";
std::wstring outputFile = outputPath + L"ApplyMultipleFontstoCell.xlsx";
//Workbookオブジェクトを作成する
Workbook* workbook = new Workbook();
//最初のシートを取得する
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//ExcelFontオブジェクトを作成し、そのフォントスタイル、色、サイズを設定する
ExcelFont* font1 = workbook->CreateExcelFont();
font1->SetKnownColor(ExcelColors::LightBlue);
font1->SetIsBold(true);
font1->SetSize(13);
//別のExcelFontオブジェクトを作成し、そのフォントスタイル、色、サイズを設定する
ExcelFont* font2 = workbook->CreateExcelFont();
font2->SetKnownColor(ExcelColors::Red);
font2->SetIsBold(true);
font2->SetIsItalic(true);
font2->SetFontName(L"Yu Mincho");
font2->SetSize(15);
//RichText文字列をセルB 5に書き込む
RichText* richText = sheet->GetRange(L"B5")->GetRichText();
richText->SetText(L"C++ 用のスタンドアロン Excel 開発マスター");
//セルB 5のテキストに2スタイルのフォントを適用する
richText->SetFont(0, 12, font1);
richText->SetFont(14, 26, font2);
//結果ファイルに保存する
workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
workbook->Dispose();
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。