Excel において、フォントはデータの視認性や見た目を向上させる重要な要素です。スプレッドシートの作成、レポートの設計、情報の整理など、フォントを適切に設定・変更することで、全体の印象が大きく変わります。Excel では豊富なフォントオプションが用意されており、スタイルやサイズ、装飾などを自由にカスタマイズできます。 本記事では、Spire.XLS for Python を使用して Excel セルのフォントを設定・変更する方法 をご紹介します。 Python で異なるセルに異なるフォントを設定する Python で 1 つのセルに複数のフォントを適用する Python でセル範囲のフォントスタイルを変更する Spire.XLS for Python のインストール この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。 pip install Spire.XLS Python で異なるセルに異なるフォントを設定する Spire.XLS for Python を使用すると、特定のセルに対してフォントを簡単にカスタマイズできます。CellRange.Style.Font プロパティを利用することで、フォント名・色・サイズ・スタイルを柔軟に設定できます。以下の手順で、特定のセルにフォントスタイルを適用する方法を確認しましょう。 Workbook オブジェクトを作成します。 Workbook.Worksheets[index] プロパティで対象のワークシートを取得します。 Worksheet.Range[int Row, int Column] プロパティで特定のセルを取得します。 CellRange.Value プロパティでセルの値を設定します。 CellRange.Style.Font オブジェクトの各プロパティを使用して、フォントの名前・色・サイズ・スタイルを設定します。 Workbook.SaveToFile() メソッドで Excel ファイルとして保存します。 from spire.xls import * from spire.xls.common import * # Workbook オブジェクトを作成 workbook = Workbook() # 最初のワークシートを取得 sheet = workbook.Worksheets # フォント名を設定 row = 1 sheet.Range[row, 1].Value = "フォント名" sheet.Range[row, 2].Value = "Yu Gothic UI" sheet.Range[row, 2].Style.Font.FontName = "Yu Gothic UI" # フォントサイズを設定 row += 2 sheet.Range[row, 1].Value = "フォントサイズ" sheet.Range[row, 2].Value = "15" sheet.Range[row, 2].Style.Font.Size = 15 # フォントの色を設定 row += 2 sheet.Range[row, 1].Value = "フォントカラー" sheet.Range[row, 2].Value = "赤" sheet.Range[row, 2].Style.Font.Color = Color.get_Red() # 太字にする row += 2 sheet.Range[row, 1].Value = "太字" sheet.Range[row, 2].Value = "太字" sheet.Range[row, 2].Style.Font.IsBold = True # 斜体にする row += 2 sheet.Range[row, 1].Value = "斜体" sheet.Range[row, 2].Value = "斜体" sheet.Range[row, 2].Style.Font.IsItalic = True # 下線を引く row += 2 sheet.Range[row, 1].Value = "下線" sheet.Range[row, 2].Value = "下線" sheet.Range[row, 2].Style.Font.Underline = FontUnderlineType.Single # 取り消し線を引く row += 2 sheet.Range[row, 1].Value = "取り消し線" sheet.Range[row, 2].Value = "取り消し線" sheet.Range[row, 2].Style.Font.IsStrikethrough = True # 列幅を設定 sheet.Columns.ColumnWidth = 25 sheet.Columns.ColumnWidth = 25 # Excel ファイルとしてブックを保存 workbook.SaveToFile("output/Excelのセルにフォントを適用.xlsx", ExcelVersion.Version2016) workbook.Dispose() Python で 1 つのセルに複数のフォントを適用する セル内の特定の文字だけを強調したい場合には、1 つのセルに複数のフォントを適用することができます。Spire.XLS for Python を使用して、次の手順で実現できます。 Workbook オブジェクトを作成します。 Workbook.Worksheets[index] プロパティで対象のワークシートを取得します。 Workbook.CreateFont() メソッドで 2 つの ExcelFont オブジェクトを作成します。 Worksheet.Range[int Row, int Column] プロパティでセルを取得し、CellRange.RichText.Text プロパティでリッチテキストを設定します。 RichText.SetFont() メソッドを使用して、それぞれのフォントを文字列の特定部分に適用します。 Workbook.SaveToFile() メソッドで Excel ファイルとして保存します。 from spire.xls import * from spire.xls.common import * # Workbookオブジェクトを作成します workbook = Workbook() # 最初のワークシートを取得します sheet = workbook.Worksheets # フォントを作成します font1 = workbook.CreateFont() font1.FontName = "Yu Gothic" font1.KnownColor = ExcelColors.LightBlue font1.IsBold = True font1.Size = 13 # 別のフォントを作成します font2 = workbook.CreateFont() font2.KnownColor = ExcelColors.Red font2.IsBold = True font2.IsItalic = True font2.FontName = "Yu Mincho" font2.Size = 15 # 指定したセルからRichTextオブジェクトを取得します richText = sheet.Range["A1"].RichText # RichTextオブジェクトのテキストを設定します richText.Text = "1つ買うと、1つ無料" # 指定した文字範囲に最初のフォントを適用します richText.SetFont(0, 4, font1) # 指定した文字範囲に2番目のフォントを適用します richText.SetFont(6, 9, font2) # 列幅を設定します sheet.Columns.ColumnWidth = 33 # Excelファイルとしてワークブックを保存します workbook.SaveToFile("output/1つのExcelセルに複数のフォントを適用.xlsx", ExcelVersion.Version2016) workbook.Dispose() Python でセル範囲のフォントスタイルを変更する Spire.XLS for Python では、セルの塗りつぶし色や文字揃え、フォントなどの書式を扱うための CellStyle クラスが提供されています。この CellStyle を作成し、CellRange.CellStyleName プロパティでセル範囲に適用するか、Worksheet.CellStyleName プロパティでワークシート全体に適用することが可能です。セル範囲のフォントスタイルを変更するには、以下の手順を実行します。 Workbook オブジェクトを作成します。 Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティで対象のワークシートを取得します。 Workbook.Styles.Add() メソッドで CellStyle オブジェクトを作成し、CellStyle.Font プロパティでフォントスタイルを設定します。 CellRange.CellStyleName プロパティでセル範囲にスタイルを適用します。 Workbook.SaveToFile() メソッドで別の Excel ファイルとして保存します。 from spire.xls import * from spire.xls.common import * # Workbookオブジェクトを作成します workbook = Workbook() # サンプルのExcelファイルを読み込みます workbook.LoadFromFile("Sample.xlsx") # 最初のワークシートを取得します sheet = workbook.Worksheets # CellStyleオブジェクトを作成します fontStyle = workbook.Styles.Add("headerFont") # フォント名、色、サイズ、スタイルを設定します fontStyle.Font.Name = "Yu Mincho" fontStyle.Font.Color = Color.get_Red() fontStyle.Font.IsBold = True fontStyle.Font.Size = 14 # ヘッダー行にセルスタイルを適用します sheet.Range.CellStyleName = fontStyle.Name # ワークシート全体にセルスタイルを適用する場合(コメントアウト) # sheet.ApplyStyle(fontStyle) # 別のExcelファイルとして保存します workbook.SaveToFile("output/セル範囲にフォントを適用.xlsx") workbook.Dispose() 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。