fc2ブログ

【ClosedXML】 デフォルトスタイルを変更する

 今回はブックのデフォルトスタイルを変更する方法を紹介します。
 例として、フォントを「Calibri」から「MS ゴシック」に変更する方法を紹介します。

 ブックのフォントを変更する方法には2種類あります。
 1つはブックのスタイルを変更する方法。
 もう1つはデフォルトスタイルを変更する方法です。
 ここでは両方試してみてその違いを比較してみます。
 まずはブックのスタイルを変更する方法です。
var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "ブックのフォントを変更.xlsx");

using(var book = new XLWorkbook(XLEventTracking.Disabled))
{
    var sheet1 = book.AddWorksheet("変更前");
    book.Style.Font.FontName = "MS ゴシック";
    var sheet2 = book.AddWorksheet("変更後");

    book.SaveAs(filePath);
}
 ブックのスタイル変更を行う際の注意点は、ワークシートを作成する前にスタイル変更を行う必要があることです。
 上記のサンプルコードの場合、ワークシート「変更前」のフォントはブックのフォント名を変更した後でも「Calibri」のままです。
ブックのフォントを変更した場合
 この画像の「Sheet1」は作成されたブックを開いてワークシートを追加したものです。
 見ての通りフォントは「Calibri」になっています。
 ブックのフォントを変更した場合は、規定のフォントは変更されずにClosedXMLでワークシートを追加したときにワークシートのフォントが変更されているようです。

 次に、デフォルトフォントを変更した場合です。
var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "規定のフォントを変更.xlsx");

XLWorkbook.DefaultStyle.Font.FontName = "MS ゴシック";
using (var book = new XLWorkbook(XLEventTracking.Disabled))
{
    var sheet1 = book.AddWorksheet("シート");

    book.SaveAs(filePath);
}
 デフォルトスタイルはXLWorkbook.DefaultStyleで変更できます。
 今回はフォントを変更したいのでDefaultStyleのFont.FontNameを変更しています。
 これで以降作成されるブックのフォントは「MS ゴシック」になります。
規定のフォントを変更した場合
 ワークシート「シート」のフォントは「MS ゴシック」になっていますし、ブックを開いて追加した「Sheet1」も「MS ゴシック」になっています。

 ブックのスタイル変更はClosedXMLで操作するときだけの一時的なスタイル変更です。
 規定のスタイルまで変更したいのであればXLWorkbook.DefaultStyleを変更する必要があります。  
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
10 | 2023/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
04  10  11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon