【ClosedXML】 デフォルトスタイルを変更する
今回はブックのデフォルトスタイルを変更する方法を紹介します。
例として、フォントを「Calibri」から「MS ゴシック」に変更する方法を紹介します。
ブックのフォントを変更する方法には2種類あります。
1つはブックのスタイルを変更する方法。
もう1つはデフォルトスタイルを変更する方法です。
ここでは両方試してみてその違いを比較してみます。
まずはブックのスタイルを変更する方法です。
この画像の「Sheet1」は作成されたブックを開いてワークシートを追加したものです。
見ての通りフォントは「Calibri」になっています。
ブックのフォントを変更した場合は、規定のフォントは変更されずにClosedXMLでワークシートを追加したときにワークシートのフォントが変更されているようです。
次に、デフォルトフォントを変更した場合です。
ワークシート「シート」のフォントは「MS ゴシック」になっていますし、ブックを開いて追加した「Sheet1」も「MS ゴシック」になっています。
ブックのスタイル変更はClosedXMLで操作するときだけの一時的なスタイル変更です。
規定のスタイルまで変更したいのであればXLWorkbook.DefaultStyleを変更する必要があります。
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」のままです。

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 ゴシック」になります。

スポンサーサイト