見出しと本文のテーマフォント
デフォルトフォントは、地域設定が変更されると自動的に変更されます。
デフォルトフォントが変更されると、行の高さや列の幅も変更され、ページレイアウトが乱れることさえあります。
デフォルトフォントの変更の原因は何ですか?
Excelのテーマフォントが設定されている場合、Excelは現在の言語環境に応じて自動的に異なるフォントに切り替えます。
Excelでの見出しと本文のテーマフォント
Excelでは、[ホーム]タブを選択し、フォントのドロップダウンボックスをクリックすると、「テーマフォント」という名前の2つのテーマフォント(見出し用のCalibri Lightと本文用のCalibri)が英語の地域設定に応じてトップに表示されます。
テーマフォントが選択されている場合、異なる地域でフォント名が異なることが表示されます。 異なる地域でフォントが自動的に変更されないようにしたい場合は、2つのテーマフォントを選択しないでください。
見出しと本文のフォントをプログラムで変更する
Aspose.Cells for .Net を使用すると、デフォルトのフォントがテーマフォントかどうかを確認したり、 Font.SchemeType プロパティでテーマフォントをセットしたりすることができます。
以下のサンプルコードは、テーマフォントの操作方法を示しています。
Workbook workbook = new Workbook("Book1.xlsx"); | |
Style defaultStyle = workbook.DefaultStyle; | |
FontSchemeType schemeType = defaultStyle.Font.SchemeType; | |
if (schemeType == FontSchemeType.Major //headings | |
|| schemeType == FontSchemeType.Minor //body | |
) | |
{ | |
Console.WriteLine("It's theme font"); | |
} | |
//Change theme font to mormal font | |
defaultStyle.Font.SchemeType = FontSchemeType.None; | |
workbook.DefaultStyle = defaultStyle; |
動的にローカルのテーマフォントを取得する
時々、サーバーとユーザーのマシンが同じ地域にないことがあります。ユーザーがファイル処理に望むフォントをどのように取得すればよいでしょうか?
ファイルを LoadOptions.Region プロパティでロードする前にシステムの地域設定を変更する必要があります
以下のサンプルコードは、ローカルのテーマフォントを取得する方法を示しています。
//Instantiate a new LoadOptions. | |
LoadOptions options = new LoadOptions(); | |
//Sets the customer's region | |
options.Region = CountryCode.Japan; | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook("Book1.xlsx", options); | |
Style defaultStyle = workbook.DefaultStyle; | |
// Gets customer's local font. | |
string localFontName = defaultStyle.Font.Name; |