チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

Super User

Super User

ヘッダーとフッターは、ドキュメントの各ページの上部および下部に配置される領域で、追加情報や要素を表示するために使用されます。ヘッダーには主にドキュメントのタイトル、会社名、日付などが含まれ、フッターにはページ番号、ファイルパス、著作権表示などが記載されることが一般的です。Excel にヘッダーとフッターを設定することで、ドキュメントの見栄えがよりプロフェッショナルで整理されたものになります。

この記事では、Spire.XLS for Python を使用して Excel にヘッダーおよびフッターを追加する方法をご紹介します。

Spire.XLS for Python は、Excel のページ設定(ヘッダー・フッター含む)を扱うために PageSetup クラスを提供しています。具体的には、LeftHeaderCenterHeaderRightHeaderLeftFooter などのプロパティがあり、ヘッダーやフッターの左・中央・右の各セクションを操作できます。ヘッダーやフッターにフィールドを追加したり、テキストに書式を適用したりするには、以下のスクリプトを使用します。

スクリプト 説明
&P 現在のページ番号
&N 総ページ数
&D 現在の日付
&T 現在の時刻
&G 画像を表示
&A ワークシート名
&F ファイル名
&B 太字テキスト
&I イタリック体テキスト
&U 下線付きテキスト
&"フォント名" フォントの指定(例:&"Arial"
& 数値 フォントサイズの指定(例:&12
&Kカラーコード フォントカラーの指定(例:&KFF0000

Spire.XLS for Python のインストール

この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.XLS

Excel にテキストのヘッダーまたはフッターを追加する方法

Spire.XLS for Python を使えば、ヘッダーまたはフッターの各セクションに書式付きテキストを追加できます。ファイル名やページ番号、日付など、さまざまな情報を柔軟に設定できます。以下はその手順です。

  1. Workbook クラスのオブジェクトを作成します。
  2. Workbook.LoadFromFile() メソッドでサンプルの Excel ファイルを読み込みます。
  3. Workbook.Worksheets[index] プロパティを使用して対象のワークシートを取得します。
  4. PageSetup.LeftHeader プロパティを使って、左側のヘッダーに任意のテキストを設定します。
  5. PageSetup.CenterFooter プロパティに &P を設定して中央フッターにページ番号を追加します。
  6. PageSetup.RightFooter プロパティに &D を設定して右フッターに日付を追加します。
  7. Workbook.SaveToFile() メソッドで結果のファイルを保存します。
from spire.xls import Workbook, ViewMode

inputFile = "Sample.xlsx"
outputFile = "output/テキストのヘッダーとフッター.xlsx"

# Workbook クラスのオブジェクトを作成します
workbook = Workbook()

# サンプルファイルをディスクから読み込みます
workbook.LoadFromFile(inputFile)

# このファイルの最初のワークシートを取得します
Worksheet = workbook.Worksheets

# 左ヘッダーにテキストを追加します
Worksheet.PageSetup.LeftHeader = "&\"Yu Gothic UI\"&14 注文記録"

# 中央フッターにページ番号を追加します
Worksheet.PageSetup.CenterFooter = "&P"

# 右フッターに現在の日付を追加します
Worksheet.PageSetup.RightFooter = "&D"

# シートの表示モードを設定します
Worksheet.ViewMode = ViewMode.Layout

# 結果ファイルを保存します
workbook.SaveToFile(outputFile)
workbook.Dispose()

Python で追加した Excel のテキストヘッダーとフッターのサンプル表示

Excel に画像のヘッダーまたはフッターを追加する方法

さらに、Spire.XLS for Python はヘッダーやフッターに画像を追加することも可能です。以下はその詳細な手順です。

  1. Workbook クラスのオブジェクトを作成します。
  2. Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
  3. Workbook.Worksheets[index] プロパティで対象のワークシートを取得します。
  4. PageSetup.LeftHeaderImage プロパティで画像を読み込み、左ヘッダーの画像として設定します。
  5. PageSetup.LeftHeader"&G" を設定して画像を表示させます。
  6. PageSetup.CenterFooterImage プロパティで画像を読み込み、中央フッターの画像として設定します。
  7. PageSetup.CenterFooter"&G" を設定して画像を表示させます。
  8. Workbook.SaveToFile() メソッドでファイルを保存します。
from spire.xls import Workbook, Stream, ViewMode

inputFile = "Sample.xlsx"
inputImage = "Logo.png"
outputFile = "output/画像付きヘッダーとフッター.xlsx"

# Workbook クラスのオブジェクトを作成します
workbook = Workbook()

# サンプルファイルをディスクから読み込みます
workbook.LoadFromFile(inputFile)

# このファイルの最初のシートを取得します
sheet = workbook.Worksheets.get_Item(0)

# 画像ファイルをディスクから読み込みます
imageStream = Stream(inputImage)

# 左ヘッダーに画像を追加します
sheet.PageSetup.LeftHeaderImage = imageStream
sheet.PageSetup.LeftHeader = "&G"

# 中央フッターに画像を追加します
sheet.PageSetup.CenterFooterImage = imageStream
sheet.PageSetup.CenterFooter = "&G"

# シートの表示モードを設定します
sheet.ViewMode = ViewMode.Layout

# 結果ファイルを保存します
workbook.SaveToFile(outputFile)
workbook.Dispose()

Spire.XLS for Python を使って画像を挿入した Excel ヘッダーとフッターの例

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excel において、フォントはデータの視認性や見た目を向上させる重要な要素です。スプレッドシートの作成、レポートの設計、情報の整理など、フォントを適切に設定・変更することで、全体の印象が大きく変わります。Excel では豊富なフォントオプションが用意されており、スタイルやサイズ、装飾などを自由にカスタマイズできます。

本記事では、Spire.XLS for Python を使用して Excel セルのフォントを設定・変更する方法 をご紹介します。

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でExcelワークシートのセルにフォントを適用する

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()

Spire.XLSで1つのExcelセルに異なるフォントを適用する

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()

PythonでExcelのセル範囲のフォントスタイルを変更する

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

セルの結合とは、隣接する複数のセルを1つの大きなセルにまとめる操作です。結合されたセルは元のセルの内容やプロパティを引き継ぎます。この機能は、見出し行を作成したり、広い領域にデータを表示したい場合に非常に便利です。 一方、セルの結合解除は、結合されたセルを元の複数セルに戻す操作です。解除後のセルは独立した状態となり、それぞれ異なる内容を入力することができます。 このようなセルの結合・解除は、スプレッドシートで表のレイアウトや構造を柔軟に調整し、データの可読性を向上させるためによく使用されます。 本記事では、Spire.XLS for Python を使用して、PythonでExcelファイル内のセルを結合または結合解除する方法をご紹介します。

Spire.XLS for Python のインストール

この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.XLS

指定行または列のセルを結合する

Spire.XLS for Python を使用すると、特定の行または列のセルを簡単に結合することができます。以下はその手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。
  • Worksheet.Columns[] または Worksheet.Rows[]Merge() メソッドを使って、指定の列または行を結合します。
  • Workbook.SaveToFile() メソッドで結果ファイルを保存します。
from spire.xls import Workbook, HorizontalAlignType, VerticalAlignType

inputFile = "Sample.xlsx"
outputFile = "output/行と列の結合.xlsx"

# Workbook クラスのオブジェクトを作成します
workbook = Workbook()

# サンプルの Excel ファイルをディスクから読み込みます
workbook.LoadFromFile(inputFile)

# このファイルの最初のワークシートを取得します
sheet = workbook.Worksheets

# Excel の最初の列を結合します
# sheet.Columns.Merge()

# Excel の最初の行を結合します
sheet.Rows.Merge()

# 結合されたセルのテキストを中央揃えにする
sheet.Rows.HorizontalAlignment = HorizontalAlignType.Center
sheet.Rows.VerticalAlignment = VerticalAlignType.Center

# 結果ファイルを保存します
workbook.SaveToFile(outputFile)
workbook.Dispose()

Pythonで行や列のセルを結合した例

セル範囲を結合する

特定の列や行だけでなく、任意のセル範囲を結合することも可能です。以下の手順で行います。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。
  • Worksheet.Range[]Merge() メソッドを使って、特定のセル範囲を結合します。
  • Workbook.SaveToFile() メソッドで結果ファイルを保存します。
from spire.xls import Workbook, HorizontalAlignType, VerticalAlignType

inputFile = "Sample.xlsx"
outputFile = "output/セル範囲の結合.xlsx"

# Workbook クラスのオブジェクトを作成します
workbook = Workbook()

# サンプルの Excel ファイルをディスクから読み込みます
workbook.LoadFromFile(inputFile)

# このファイルの最初のワークシートを取得します
sheet = workbook.Worksheets

# Excel の指定したセル範囲を結合します
sheet.Range["B2:C3"].Merge()

# 結合されたセルを揃える
sheet.Range["B2:C3"].HorizontalAlignment = HorizontalAlignType.Center
sheet.Range["B2:C3"].VerticalAlignment = VerticalAlignType.Center

# 結果ファイルを保存します
workbook.SaveToFile(outputFile)
workbook.Dispose()

Pythonでセル範囲を結合したExcelの例

指定行または列のセルの結合を解除する

Spire.XLS for Python を使えば、結合されたセルをいつでも元に戻すことが可能です。以下は特定の行または列のセルの結合を解除する手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。
  • Worksheet.Columns[] または Worksheet.Rows[]UnMerge() メソッドを使って、結合されたセルを解除します。
  • Workbook.SaveToFile() メソッドで結果ファイルを保存します。
from spire.xls import Workbook

inputFile = "output/行と列の結合.xlsx"
outputFile = "output/行と列の結合解除.xlsx"

# Workbook クラスのオブジェクトを作成します
workbook = Workbook()

# サンプルファイルをディスクから読み込みます
workbook.LoadFromFile(inputFile)

# このファイルの最初のワークシートを取得します
sheet = workbook.Worksheets

# Excel の最初の列の結合を解除します
# sheet.Columns.UnMerge()

# Excel の最初の行の結合を解除します
sheet.Rows.UnMerge()

# ファイルに保存します
workbook.SaveToFile(outputFile)
workbook.Dispose()

Pythonで結合された行や列を解除した例

セル範囲の結合を解除する

特定のセル範囲の結合も以下の手順で簡単に解除できます。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。
  • Worksheet.Range[]UnMerge() メソッドを使って、セル範囲の結合を解除します。
  • Workbook.SaveToFile() メソッドで結果ファイルを保存します。
from spire.xls import Workbook

inputFile = "output/セル範囲の結合.xlsx"
outputFile = "output/セル範囲の結合解除.xlsx"

# Workbook クラスのオブジェクトを作成します
workbook = Workbook()

# サンプルファイルをディスクから読み込みます
workbook.LoadFromFile(inputFile)

# このファイルの最初のワークシートを取得します
sheet = workbook.Worksheets

# Excel の指定したセル範囲の結合を解除します
sheet.Range["B2:C4"].UnMerge()

# ファイルに保存します
workbook.SaveToFile(outputFile)
workbook.Dispose()

Pythonで結合セル範囲を解除したExcelの例

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

集合縦棒グラフ積み上げ縦棒グラフは、縦棒グラフの2つの代表的な形式です。集合縦棒グラフは、複数のカテゴリ間で値を比較するのに適しており、積み上げ縦棒グラフはカテゴリごとの合計値とその内訳の割合を視覚的に把握するのに便利です。

この記事では、Spire.XLS for Python を使用して、Python で Excel ワークシートに集合縦棒グラフまたは積み上げ縦棒グラフを作成する方法をご紹介します。

Spire.XLS for Python のインストール

この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.XLS

Python で Excel に集合縦棒グラフを作成する方法

ワークシートにグラフを追加するには、Worksheet.Chart.Add(ExcelChartType chartType) メソッドを使用します。ExcelChartType 列挙体には、Microsoft Excel にあらかじめ定義されているさまざまな種類のグラフが含まれています。

以下は、Spire.XLS for Python を使って集合縦棒グラフを作成する手順です:

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.get_Item(index) プロパティを使用して特定のワークシートを取得します。
  • 指定したセルにデータを書き込みます。
  • Worksheet.Chart.Add(ExcelChartType.ColumnClustered) メソッドを使って、ワークシートに集合縦棒グラフを追加します。
  • Chart.DataRange プロパティを使用して、グラフのデータ範囲を設定します。
  • Chart オブジェクトのプロパティを通じて、グラフの位置、タイトル、その他の属性を設定します。
  • Workbook.SaveToFile() メソッドを使用して、Excel ファイルとして保存します。
from spire.xls import *
from spire.xls.common import *

# Workbook オブジェクトを作成
workbook = Workbook()

# 最初のシートを取得
sheet = workbook.Worksheets.get_Item(0)

# グラフ用データを設定
sheet.Range.get_Item("A1").Value = "製品"
sheet.Range.get_Item("A2").Value = "綾鷹"
sheet.Range.get_Item("A3").Value = "午後の紅茶"
sheet.Range.get_Item("A4").Value = "伊右衛門"
sheet.Range.get_Item("A5").Value = "麦茶"

sheet.Range.get_Item("B1").Value = "店舗 A"
sheet.Range.get_Item("B2").NumberValue = 30000
sheet.Range.get_Item("B3").NumberValue = 45000
sheet.Range.get_Item("B4").NumberValue = 28000
sheet.Range.get_Item("B5").NumberValue = 52000
sheet.Range.get_Item("C1").Value = "店舗 B"
sheet.Range.get_Item("C2").NumberValue = 40000
sheet.Range.get_Item("C3").NumberValue = 35000
sheet.Range.get_Item("C4").NumberValue = 39000
sheet.Range.get_Item("C5").NumberValue = 41000

# セルスタイルの設定
sheet.Range.get_Item("A1:C1").RowHeight = 15
sheet.Range.get_Item("A1:C1").Style.Color = Color.get_Black()
sheet.Range.get_Item("A1:C1").Style.Font.Color = Color.get_White()
sheet.Range.get_Item("A1:C1").Style.VerticalAlignment = VerticalAlignType.Center
sheet.Range.get_Item("A1:C1").Style.HorizontalAlignment = HorizontalAlignType.Center
sheet.AutoFitColumn(1)

# グラフをシートに追加
chart = sheet.Charts.Add(ExcelChartType.ColumnClustered)

# グラフのデータ範囲を設定
chart.DataRange = sheet.Range.get_Item("A1:C5")
chart.SeriesDataFromRange = False

# グラフの位置を設定
chart.LeftColumn = 5
chart.TopRow = 1
chart.RightColumn = 14
chart.BottomRow = 21

# グラフのタイトルを設定
chart.ChartTitle = "店舗別ソフトドリンク売上"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 軸タイトルを設定
chart.PrimaryCategoryAxis.Title = "製品"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "売上"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90

# 系列の色・重なり・間隔・データラベルを設定
series = chart.Series
for i in range(series.Count):
    cs = series.get_Item(i)
    cs.Format.Options.IsVaryColor = True
    cs.Format.Options.Overlap = -50
    cs.Format.Options.GapWidth = 350
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

# 凡例の位置を設定
chart.Legend.Position = LegendPositionType.Top

# ファイルを保存
workbook.SaveToFile("output/集合縦棒グラフ.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Pythonで作成したExcelの集合縦棒グラフの例

Python で Excel に積み上げ縦棒グラフを作成する方法

積み上げ縦棒グラフの作成手順は、集合縦棒グラフとほぼ同じです。異なる点は、グラフの種類を ColumnClustered ではなく ColumnStacked に変更する必要があることです。

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.get_Item(index) プロパティを使用して特定のワークシートを取得します。
  • 指定したセルにデータを書き込みます。
  • Worksheet.Chart.Add(ExcelChartType.ColumnStacked) メソッドを使って、ワークシートに積み上げ縦棒グラフを追加します。
  • Chart.DataRange プロパティを使用して、グラフのデータ範囲を設定します。
  • Chart オブジェクトのプロパティを通じて、グラフの位置、タイトル、その他の属性を設定します。
  • Workbook.SaveToFile() メソッドを使用して、Excel ファイルとして保存します。
from spire.xls import *
from spire.xls.common import *

# Workbook オブジェクトを作成
workbook = Workbook()

# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# グラフ用データを設定
sheet.Range.get_Item("A1").Value = "製品"
sheet.Range.get_Item("A2").Value = "綾鷹"
sheet.Range.get_Item("A3").Value = "午後の紅茶"
sheet.Range.get_Item("A4").Value = "伊右衛門"
sheet.Range.get_Item("A5").Value = "麦茶"

sheet.Range.get_Item("B1").Value = "店舗 A"
sheet.Range.get_Item("B2").NumberValue = 30000
sheet.Range.get_Item("B3").NumberValue = 45000
sheet.Range.get_Item("B4").NumberValue = 28000
sheet.Range.get_Item("B5").NumberValue = 52000

sheet.Range.get_Item("C1").Value = "店舗 B"
sheet.Range.get_Item("C2").NumberValue = 40000
sheet.Range.get_Item("C3").NumberValue = 35000
sheet.Range.get_Item("C4").NumberValue = 39000
sheet.Range.get_Item("C5").NumberValue = 41000

# セルのスタイルを設定
sheet.Range.get_Item("A1:C1").RowHeight = 15
sheet.Range.get_Item("A1:C1").Style.Color = Color.get_Black()
sheet.Range.get_Item("A1:C1").Style.Font.Color = Color.get_White()
sheet.Range.get_Item("A1:C1").Style.VerticalAlignment = VerticalAlignType.Center
sheet.Range.get_Item("A1:C1").Style.HorizontalAlignment = HorizontalAlignType.Center
sheet.AutoFitColumn(1)

# グラフを追加(積み上げ縦棒グラフ)
chart = sheet.Charts.Add(ExcelChartType.ColumnStacked)

# グラフのデータ範囲を設定
chart.DataRange = sheet.Range.get_Item("A1:C5")
chart.SeriesDataFromRange = False

# グラフの位置を設定
chart.LeftColumn = 5
chart.TopRow = 1
chart.RightColumn = 14
chart.BottomRow = 21

# グラフのタイトルを設定
chart.ChartTitle = "店舗別ソフトドリンク売上"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 軸タイトルを設定
chart.PrimaryCategoryAxis.Title = "製品"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "売上"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90

# 系列の色・間隔・データラベルを設定
series = chart.Series
for i in range(series.Count):
    cs = series.get_Item(i)
    cs.Format.Options.IsVaryColor = True
    cs.Format.Options.GapWidth = 270
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
    cs.DataPoints.DefaultDataPoint.DataLabels.Position = DataLabelPositionType.Inside

# 凡例の位置を設定
chart.Legend.Position = LegendPositionType.Top

# ファイルを保存
workbook.SaveToFile("output/積み上げ縦棒グラフ.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Spire.XLS for Pythonを使って生成した積み上げ縦棒グラフ

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Excelのコメント機能は、ユーザーが補足情報や備考を追加するための便利な手段です。コメントはテキストや画像の形式で挿入でき、指定セルのデータに対する説明や補足情報を提供します。コメントが追加されたセルにマウスを合わせると、その内容を簡単に確認でき、Excelドキュメントの可読性と理解度が向上します。

この記事では、Spire.XLS for Python を使用して Python で Excelワークシートにコメントを追加する方法 をご紹介します。

Spire.XLS for Python のインストール

この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.XLS

Excelファイルにテキストコメントを追加する方法

Spire.XLS for Python では、CellRange.AddComment メソッドを使って、Excelのセルにテキストコメントを追加できます。以下に詳しい手順を示します。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile メソッドを使用して、Excelファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使って、最初のワークシートを取得します。
  • Worksheet.Range[] プロパティで、対象のセルを取得します。
  • CellRange.AddComment メソッドを使って、コメントの著者と内容を設定し、セルに追加します。
  • コメントのフォントを設定します。
  • Workbook.SaveToFile メソッドで結果ファイルを保存します。
from spire.xls import Workbook, ExcelColors, ExcelVersion

inputFile = "Sample.xlsx"
outputFile = "output/テキストにコメントを追加.xlsx"

# Workbook クラスのオブジェクトを作成
workbook = Workbook()

# サンプルファイルをディスクから読み込む
workbook.LoadFromFile(inputFile)

# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# 指定されたセルを取得
range = sheet.Range.get_Item("D9")

# コメントの作成者と内容を設定(日本語)
author = "佐藤"
text = "年度別売上合計です。"

# 取得したセルにコメントを追加
comment = range.AddComment()
comment.Width = 200
comment.Visible = True
comment.Text = author + ":\n" + text

# コメントのフォントを設定
font = workbook.CreateFont()
font.FontName = "Yu Gothic UI"
font.KnownColor = ExcelColors.Black
font.IsBold = True
comment.RichText.SetFont(0, len(author), font)

# 結果ファイルを保存
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()

PythonでExcelのセルにテキストコメントを追加

Excelファイルに画像付きコメントを追加する方法

Spire.XLS for Python では、CellRange.AddCommentExcelCommentObject.Fill.CustomPicture メソッドを使って、指定したセルに画像付きコメントを追加することも可能です。以下がその手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.Worksheets[] プロパティで最初のワークシートを取得します。
  • Worksheet.Range[] プロパティで対象のセルを取得し、必要に応じてセルにテキストを設定します。
  • CellRange.AddComment メソッドでセルにコメントを追加します。
  • 画像を読み込み、ExcelCommentObject.Fill.CustomPicture メソッドでコメントに画像を挿入します。
  • コメントの高さと幅を設定します。
  • Workbook.SaveToFile メソッドでファイルを保存します。
from spire.xls import Workbook

inputImageFile = "Sample.png"
inputExcelFile = "Sample.xlsx"
outputFile = "output/画像コメントを追加.xlsx"

# Workbook クラスのオブジェクトを作成
workbook = Workbook()
workbook.LoadFromFile(inputExcelFile)

# 最初のワークシートを取得
sheet = workbook.Worksheets.get_Item(0)

# 指定したセルを取得し、テキストを設定
range = sheet.Range.get_Item("D1")

# セルにコメントを追加
comment = range.get_Item("D1").AddComment()

# 画像ファイルを読み込み、コメントに画像を挿入
comment.Fill.CustomPicture(inputImageFile)

# コメントの高さと幅を画像に合わせて設定
comment.Height = 144
comment.Width = 200
comment.Visible = True

# ファイルを保存
workbook.SaveToFile(outputFile)
workbook.Dispose()

Spire.XLSでExcelセルに画像コメントを追加

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

セルのロックは、スプレッドシート内の特定のセル範囲の内容が誤って変更されるのを防ぐために使用されます。これは、ワークシートを共有する場合や特定のデータを保護したい場合に特に便利です。セルをロックすると、パスワードを知っているか、適切な権限を持つユーザー以外は編集できなくなります。この機能は、データのセキュリティと整合性を確保する上で非常に重要です。

本記事では、Spire.XLS for Python を使用し Python で Excel の特定のセル・列・行をロックする方法をご紹介します。

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 を使用すると、Worksheet.Range[].Style.Locked プロパティを "True" に設定することで、任意のセル範囲をロックできます。以下の手順で操作します。

  • Workbook のインスタンスを作成し、Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して、最初のワークシートを取得します。
  • ワークシートの使用範囲内のすべてのセルを選択し、Worksheet.Range.Style.Locked プロパティを "False" に設定してロックを解除します。
  • 特定のセルやセル範囲をロックするには、テキストを設定し Worksheet.Range[].Style.Locked を "True" に設定します。
  • Worksheet.Protect() メソッドでワークシートを保護します。
  • Workbook.SaveToFile() メソッドでファイルを保存します。
  • Python
from spire.xls import Workbook, SheetProtectionType

inputFile = "Sample.xlsx"
outputFile = "output/セルをロック.xlsx"

# Workbook インスタンスを作成し、サンプルファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile(inputFile)

# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]

# ワークシートの使用範囲内のすべてのセルのロックを解除する
sheet.Range.Style.Locked = False

# シート内の特定のセルをロックする
sheet.Range["A1"].Text = "ロック済み"
sheet.Range["A1"].Style.Locked = True

# シート内の特定のセル範囲をロックする
sheet.Range["C1:E3"].Text = "ロック済み"
sheet.Range["C1:E3"].Style.Locked = True

# パスワードを使ってワークシートを保護する
sheet.Protect("123456", SheetProtectionType.All)

# 結果ファイルを保存する
workbook.SaveToFile(outputFile)
workbook.Dispose()

PythonでExcelワークシートの特定のセルをロックする

Python で特定の列をロックする

ワークシート内の特定の列をロックしたい場合は、Worksheet.Columns[].Style.Locked プロパティを "True" に設定します。その他の手順は前述とほぼ同じです。

  • Workbook のインスタンスを作成し、Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して、最初のワークシートを取得します。
  • ワークシートの使用範囲内のすべてのセルを選択し、Worksheet.Range.Style.Locked プロパティを "False" に設定してロックを解除します。
  • 第4列にテキストを設定し、Worksheet.Columns[].Style.Locked プロパティを "True" に設定してロックします。
  • Worksheet.Protect() メソッドでワークシートを保護します。
  • Workbook.SaveToFile() メソッドでファイルを保存します。
  • Python
from spire.xls import Workbook, SheetProtectionType

inputFile = "Sample.xlsx"
outputFile = "output/列をロック.xlsx"

# Workbook インスタンスを作成し、サンプルファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile(inputFile)

# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]

# ワークシートの使用範囲内のすべてのセルのロックを解除する
sheet.Range.Style.Locked = False

# シート内の4列目をロックする
sheet.Columns[3].Text = "ロック済み"
sheet.Columns[3].Style.Locked = True

# パスワードを使ってワークシートを保護する
sheet.Protect("123456", SheetProtectionType.All)

# 結果ファイルを保存する
workbook.SaveToFile(outputFile)
workbook.Dispose()

Spire.XLSでExcelワークシートの列をロックする

Python で特定の行をロックする

同様に、特定の行をロックしたい場合は、Worksheet.Rows[].Style.Locked プロパティを "True" に設定します。手順は以下の通りです。

  • Workbook のインスタンスを作成し、Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
  • Workbook.Worksheets[] プロパティを使用して、最初のワークシートを取得します。
  • ワークシートの使用範囲内のすべてのセルを選択し、Worksheet.Range.Style.Locked プロパティを "False" に設定してロックを解除します。
  • 第3行にテキストを設定し、Worksheet.Rows[].Style.Locked プロパティを "True" に設定してロックします。
  • Worksheet.Protect() メソッドでワークシートを保護します。
  • Workbook.SaveToFile() メソッドでファイルを保存します。
  • Python
from spire.xls import Workbook, SheetProtectionType

inputFile = "Sample.xlsx"
outputFile = "output/行をロック.xlsx"

# Workbook インスタンスを作成し、サンプルファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile(inputFile)

# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]

# ワークシートの使用範囲内のすべてのセルのロックを解除する
sheet.Range.Style.Locked = False

# ワークシート内の3行目をロックする
sheet.Rows[2].Text = "ロック済み"
sheet.Rows[2].Style.Locked = True

# パスワードを使ってワークシートを保護する
sheet.Protect("123456", SheetProtectionType.All)

# 結果ファイルを保存する
workbook.SaveToFile(outputFile)
workbook.Dispose()

Spire.XLSでExcelワークシートの行をロックする

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30日間有効な一時ライセンスを取得してください。

バーコードは、在庫管理、小売システム、物流など、さまざまなデータ駆動型分野において不可欠な存在です。Python でバーコードを生成するには、複数の形式への対応や大規模な自動処理などの理由から、複雑になることがあります。そのため、柔軟かつ効率的にバーコードを作成できる、信頼性の高い Python バーコード生成ライブラリが必要です。

本記事では、Spire.Barcode for Python を使用して、Python で正確かつ効率的にバーコードを生成する方法をご紹介します。

Spire.Barcode for Python を使ってみよう

Spire.Barcode を選ぶ理由

Spire.Barcode for Python は、Python アプリケーションにバーコードの生成・読み取り機能を追加したい開発者向けに設計された、使いやすく高機能なバーコードライブラリです。以下のような特長があります:

  • Code 128、QR コード、EAN-13、UPC など、幅広いバーコード規格に対応
  • 高品質な画像出力と柔軟なカスタマイズ設定
  • わかりやすく統合しやすい API
  • 外部依存なし(サードパーティ不要)
  • 1 つのライブラリでバーコードの生成とスキャンの両方に対応

インストールとインポート

Spire.Barcode for Python をインストールするには、以下のコマンドを実行します:

pip install spire.barcode

簡単なバーコード生成であれば、無償版の Free Spire.Barcode for Python も利用できます:

pip install spire.barcode.free

Python でバーコードを生成する手順

Python でバーコードを作成するには、通常、バーコードの種類(例:Code 128 や QR コード)とエンコードするデータを指定します。Spire.Barcode のようなライブラリを使用すれば、わずか数行のコードで設定できます。

主なクラスとメソッド

  • BarcodeSettings:バーコードの種類、データ、色、テキストなどを設定
  • BarCodeGenerator:指定された設定からバーコード画像を生成
  • GenerateImage():画像ストリームとして出力

ステップ1:必要なモジュールのインポート

まずは、Pythonスクリプトの先頭で必要なクラスをインポートします。

  • Python
from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator, Code128SetMode, FontStyle, Color

ステップ2:バーコード設定の構成

BarcodeSettings オブジェクトを作成し、バーコードのプロパティを設定します。

  • Python
# BarcodeSettingsオブジェクトの作成
barcodeSettings = BarcodeSettings()
# バーコードの種類を設定(ここではCode 128)
barcodeSettings.Type = BarCodeType.Code128
# バーコードにエンコードするデータ
barcodeSettings.Data = "ABC123456789"
# Code128のセットモードを自動に設定
barcodeSettings.Code128SetMode = Code128SetMode.Auto
# データ表示位置の設定(下部に表示)
barcodeSettings.ShowTextOnBottom = True
# 下部テキストの設定とフォントスタイルの指定
barcodeSettings.BottomText = "Code 128"
barcodeSettings.SetTextFont("Arial", 12.0, FontStyle.Regular)
barcodeSettings.ShowBottomText = True
# 背景色の設定
barcodeSettings.BackColor = Color.get_Beige()

ステップ3:バーコード画像の生成

設定済みの BarcodeSettings を使って BarCodeGenerator を作成し、画像を生成して保存します。

  • Python
# BarCodeGeneratorの作成
barcodeGenerator = BarCodeGenerator(barcodeSettings)
# バーコード画像の生成
barcodeImage = barcodeGenerator.GenerateImage()
# 画像の保存
with open("output/Code 128.png", "wb") as fp:
fp.write(barcodeImage)

生成されたバーコード:

Spire.Barcode を使用して生成したPythonのCode 128バーコード

このスクリプトではCode 128形式のバーコード画像を生成して保存します。

BarCodeTypeData の値を変更すればカスタマイズが可能です。

対応バーコードの種類

Spire.Barcode for Python は、Code 39、UPC、QR コード、EAN-13 など、広く使われているバーコード規格を多数サポートしています。これにより、さまざまな用途に柔軟に対応できます。

対応バーコード形式の一覧

バーコードカテゴリ 対応規格 無償版対応 有償版対応
1次元バーコード Codabar, Code11, Code25, Interleaved25, Code39, Code39Extended, Code93, Code93Extended, Code128, EAN8, EAN13, EAN128, EAN14, UPCA, UPCE, MSI, PostNet, Planet, SCC14, SSCC18, ITF14, ITF6, PZN, OPC ✅(一部) ✅(すべて)
2次元バーコード QRCode, DataMatrix, Pdf417, Pdf417Macro, Aztec, MicroQR ✅(QRCode のみ) ✅(すべて)
スタック型/複合コード RSS14, RSS14Truncated, RSSLimited, RSSExpanded
郵便バーコード USPS, SwissPostParcel, DeutschePostIdentcode, DeutschePostLeitcode, RoyalMail4State, SingaporePost4State

複数バーコードの一括生成

Spire.Barcode for Python を使用すれば、複数のバーコードを一括生成することも可能です。在庫管理やラベル印刷、各種自動処理に最適です。

  • Python
# バーコードにしたいデータのリスト
data = ["Barcode 1", "Barcode 2", "Barcode 3"]

# 各データに対してバーコードを生成
for barcode_data in data:
    settings = BarcodeSettings()
    settings.Type = BarCodeType.Code39
    settings.Data  = barcode_data
    generator = BarCodeGenerator(settings)
    barcode_stream = generator.GenerateImage()
    with open(f"output/{barcode_data}.png", "wb") as file:
    file.write(barcode_stream)

このスクリプトでは、リスト内の各データについてバーコードを生成・保存することで、効率的な一括処理が可能です。

まとめ

Spire.Barcode for Python を使えば、Python でのバーコード生成は驚くほど簡単かつ柔軟になります。Code 128 のような 1 次元バーコードから、QR コードを含む 2 次元バーコードの一括生成まで、あらゆる場面で活用可能です。多様な規格対応と高品質な出力を、最小限のコードで実現できるこのライブラリは、あらゆる業界の開発者にとって心強いツールです。

よくある質問

Pythonでバーコードを作成するには?

Spire.Barcode for Python のようなライブラリを使うことで、Code 128 や QR コードなどさまざまな規格のバーコードを簡単に生成できます。パッケージをインストールし、設定を構成して画像として保存するだけです。

バーコードはどのように生成されるの?

バーコードは、文字列データをバーやモジュールの視覚的パターンに変換して生成されます。Python では、Spire.Barcode のようなライブラリがその変換を行い、対応する画像を出力します。

Pythonでコードジェネレーターを作成するには?

バーコードジェネレーターであれば、バーコードの種類(例:Code 128)とデータを定義し、Spire.Barcode などのライブラリを使って画像を生成・保存します。ループや関数を用いて自動化することも可能です。

PythonでQRコードを生成するには?

Spire.Barcode for Python を使用すれば、QR コードもすばやく生成できます。以下はデータを埋め込んだ QR コードの例です:

  • Python
from spire.barcode import BarcodeSettings, BarCodeGenerator, BarCodeType

barcodeSettings = BarcodeSettings()
barcodeSettings.Type = BarCodeType.QRCode
barcodeSettings.Data = "ABC123456"

barcodeGenerator = BarCodeGenerator(barcodeSettings)
with open("output/QRCode.png", "wb") as f:
f.write(barcodeGenerator.GenerateImage())

生成されたQRコード:

Spire.Barcodeライブラリを使ってPythonでQRコードを生成

この方法で、URL、テキスト、IDなどをQRコードに埋め込むことができます。

関連リンク:PythonでQRコードを生成・読み取る方法

無償ライセンスの入手方法

Spire.Barcode for Python では、機能制限や透かしのない無償評価ライセンスを提供しています。ぜひ このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。までご連絡のうえ、ライセンスを取得して、この高機能なバーコードライブラリの全機能をお試しください。

QR コードは、URL や連絡先、決済情報など、さまざまな情報を格納できる 2 次元バーコードの一種です。デジタルコンテンツに素早く簡単にアクセスできるため、QR コードは現代のテクノロジー社会において非常に便利なツールとして広く利用されています。

この記事では、Spire.Barcode for Python を使用して、Python で QR コードを生成および読み取る方法をご紹介します。

Spire.Barcode for Python のインストール

Spire.Barcode for Python は、以下の pip コマンドでインストールできます:

pip install spire.barcode

軽量な処理であれば、無償版の Free Spire.Barcode for Python も利用可能です。こちらは次のコマンドでインストールできます:

pip install spire.barcode.free

Python で QR コードを生成する

Spire.Barcode for Python では、BarcodeSettings クラスを使用してバーコード生成に関する各種設定を行うことができます。設定項目には、バーコードの種類、エンコードするデータ、色、余白、解像度(水平および垂直)などが含まれます。

必要な設定を構成したら、それに基づいて BarcodeGenerator インスタンスを作成し、GenerateImage() メソッドを呼び出すことで QR コード画像を生成できます。

Python で QR コードを生成する手順は以下のとおりです:

  • BarcodeSettings オブジェクトを作成します。
  • BarcodeSettings.Type プロパティでバーコードの種類を QR コードに設定します。
  • BarcodeSettings.Data2D プロパティを使用して、QR コードにエンコードするデータを設定します。
  • その他の属性(色、余白など)を BarcodeSettings のプロパティで設定します。
  • 設定に基づいて BarcodeGenerator オブジェクトを作成します。
  • BarcodeGenerator.GenerateImage() メソッドを呼び出して QR コード画像を生成します。
  • Python
from spire.barcode import *

# すべてのバイトをファイルに書き込む
def WriteAllBytes(fname: str, data):
    with open(fname, "wb") as fp:
        fp.write(data)
    fp.close()

# ライセンスキーを適用
License.SetLicenseKey("ライセンスキー")

# BarcodeSettings オブジェクトを作成
barcodeSettings = BarcodeSettings()

# バーコードの種類をQRコードに設定
barcodeSettings.Type = BarCodeType.QRCode

# 2次元バーコードのデータを設定
barcodeSettings.Data2D = "Hello, World"

# 余白を設定
barcodeSettings.LeftMargin = 0.2
barcodeSettings.RightMargin = 0.2
barcodeSettings.TopMargin = 0.2
barcodeSettings.BottomMargin = 0.2

# 水平解像度を設定
barcodeSettings.DpiX = 500

# 垂直解像度を設定
barcodeSettings.DpiY = 500

# 誤り訂正レベルを設定
barcodeSettings.QRCodeECL = QRCodeECL.M

# バーコード上にテキストを表示しない
barcodeSettings.ShowText = False

# QRコードの中央にロゴを追加
barcodeSettings.SetQRCodeLogoImage("logo.png")

# 指定した設定で BarCodeGenerator のインスタンスを作成
barCodeGenerator = BarCodeGenerator(barcodeSettings)

# バーコードの画像を生成
image = barCodeGenerator.GenerateImage()

# PNG画像をディスクに書き込む
WriteAllBytes("output/QRCode.png", image)

生成されたQRコード:

Spire.Barcodeを使用してPythonコードで生成されたカスタムQRコード

Python で QR コード画像を読み取る

Spire.Barcode は、バーコード画像の認識を担当する BarcodeScanner クラスを提供しています。このクラスには、バーコードからデータを抽出するための複数のメソッドが用意されています:

  • ScanOneFile():1 つのバーコード画像ファイルを読み取り、抽出したデータを返します。
  • ScanFile():指定した画像ファイル内のすべてのバーコードをスキャンし、抽出されたデータを返します。
  • ScanStream():画像データのストリームからバーコードを読み取り、情報を抽出します。

以下のコードは、QR コード画像をスキャンする方法を示しています。

  • Python
from spire.barcode import *

# ライセンスキーを適用
License.SetLicenseKey("ライセンスキー")

# 1つのバーコードを含む画像ファイルをスキャン
result = BarcodeScanner.ScanOneFile("output/QRCode.png")

# 複数のバーコードを含む画像ファイルをスキャン
# results = BarcodeScanner.ScanFile("output/Image.png")

# 結果を出力
print(result)

スキャンの結果:

PythonとSpire.Barcodeを使ったQRコードスキャン結果

すべての機能を試すには

Spire.Barcode for Python のすべての機能を体験したい場合は、弊社このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。までご連絡のうえ、30 日間有効な一時ライセンスをお申し込みください。

Excel のフィルター機能(オートフィルター)は、データの絞り込みや分析に便利な機能です。しかし、データの確認が終わったり、元の状態でファイルを共有したりする場合は、フィルターを解除する必要があります。

この記事では、.NET アプリケーション内で Spire.XLS for .NET を使用し、Excel ファイルのフィルターを自動的に解除する方法をご紹介します。単一のシートだけでなく、複数ファイルをバッチ処理するケースにも対応可能です。

目次

フィルターを解除する理由

Excel ファイルのフィルターを解除する主な理由は次のとおりです:

  • フィルター適用中に非表示になっている全データを再表示する
  • データの印刷や資料化の準備
  • 閲覧者が意図しない部分的なデータ表示を防ぐ

つまり、オートフィルターの解除は、データの可視性と一貫性を保つために重要です。

Spire.XLS を使ったフィルター解除手順

ライブラリの導入

まずは NuGet 経由で Spire.XLS for .NET をインストールします。

PM> Install-Package Spire.XLS

軽量な処理だけでよい場合は、無料版の Free Spire.XLS for .NET でも可能です。

PM> Install-Package FreeSpire.XLS

また、Spire.XLS for .NET または Free Spire.XLS for .NET をダウンロードし、手動でインストールすることもできます。

主なメソッドとプロパティ

メソッド / プロパティ 説明
Workbook.LoadFromFile() Excel ファイルの読み込み
Workbook.Worksheets[] ワークシートの取得
Worksheet.AutoFilters.Clear() オートフィルターをすべて解除
Worksheet.AutoFilters.Range オートフィルター範囲の指定
Workbook.SaveToFile() 編集後のファイル保存

C# 実装例:オートフィルターをすべて解除

以下は、Excel シート上のオートフィルターをすべて解除する C# コード例です:

  • C#
using Spire.Xls;

// ワークブックのインスタンスを作成
Workbook workbook = new Workbook();

// Excelワークブックを読み込む
workbook.LoadFromFile("Sample.xlsx");

// ワークシートを取得
Worksheet sheet = workbook.Worksheets[0];

// オートフィルターを削除
sheet.AutoFilters.Clear();

// ワークブックを保存
workbook.SaveToFile("output/すべてのExcelフィルタを削除.xlsx");
workbook.Dispose();

適用前後の Excel ワークシートの比較

C#を使用してすべてのフィルタを削除する前と後のExcelワークシート

特定列のフィルター解除(範囲の再設定)

Excel のオートフィルターは、連続した列範囲に適用されるため、特定の列だけを解除することは直接できません。代わりに、解除したい列をフィルター範囲から除いたうえで、再設定する必要があります。

以下はその手順です:

  • C#
using Spire.Xls;

// ワークブックのインスタンスを作成
Workbook workbook = new Workbook();

// Excelワークブックを読み込む
workbook.LoadFromFile("Sample.xlsx");

// ワークシートを取得
Worksheet sheet = workbook.Worksheets[0];

// 現在のフィルターを削除してすべてのデータを表示(データの欠落を防ぐため)
sheet.AutoFilters.Clear();

// フィルター範囲をリセット
sheet.AutoFilters.Range = sheet.Range[1, 1, 13, 7];

// ワークブックを保存
workbook.SaveToFile("output/Excel フィルタのリセット.xlsx");
workbook.Dispose();

注意:フィルター範囲を再設定する前に、既存のオートフィルターを解除しておかないと、フィルター済みのデータが範囲外になり、正しく表示されない可能性があります。

適用前後の Excel ワークシートの比較

C#を使用した特定のフィルター列を削除する前後のExcelワークシート

Spire.XLS を使うメリット

  • 高速かつ自動化しやすい:Excel を開かずに処理可能
  • .NET Framework / .NET Core 両対応
  • Microsoft Office 非依存:Office がインストールされていなくても動作
  • 業務利用に適した安定性:バッチ処理や自動化システムにも最適

よくある質問(FAQ)

C# で Excel のフィルターを解除するにはどうすればよいですか?

AutoFilters.Clear() メソッドを使用することで、対象のワークシートに設定されたすべてのオートフィルターを解除できます。

プログラムから Excel のフィルターを一括解除する一番簡単な方法は?

Spire.XLS for .NET を使えば、数行の C# コードで Excel を開かずにフィルター解除が可能です。

特定の列だけフィルターを解除できますか?

オートフィルターは連続する列に適用されるため、特定列のみを解除することはできません。代わりに一度すべてのフィルターを解除し、対象外の列を除いた範囲で再設定します。

Spire.XLS に無料版はありますか?

はい、Free Spire.XLS for .NET という無料版があります。商用以外の用途であれば、ウォーターマークなしで使用できます。

機能制限のない評価版を希望する場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。も可能です。

まとめ

C# と Spire.XLS for .NET を使えば、Excel ファイルのフィルター解除をスムーズに自動化できます。レポートや資料をクリアな状態で出力したい場合など、業務効率化に役立ちます。

Excel のハイパーリンク機能は、スプレッドシート内にクリック可能なリンクを作成できる便利なツールです。ハイパーリンクを追加することで、別のシートやブック、Web サイト、あるいは同じブック内の特定のセルへ簡単に移動できます。外部リソースの参照や関連データの接続、インタラクティブなレポートの作成など、さまざまな目的で活用できます。

本記事では、Spire.XLS for Python を使用して、Excel ファイルにハイパーリンクを追加する方法をご紹介します。

Spire.XLS for Python のインストール

この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.XLS

Python で Excel にテキストハイパーリンクを追加する

テキストハイパーリンクは、クリックすることで Excel 内の特定の場所、外部リソース、またはメールアドレスへ移動できる文字列やフレーズです。以下の手順で、Spire.XLS for Python を使用して Excel にテキストハイパーリンクを追加する方法を解説します:

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.get_Item() メソッドを使って目的のワークシートを取得します。
  • Worksheet.Range.get_Item() メソッドを使って、ハイパーリンクを挿入するセルを指定します。
  • Worksheet.HyperLinks.Add() メソッドでセルにハイパーリンクを追加します。
  • XlsHyperLink.TypeXlsHyperLink.TextToDisplayXlsHyperLink.Address プロパティを使って、リンクの種類、表示テキスト、リンク先を設定します。
  • Workbook.SaveToFile() メソッドでファイルを保存します。
  • Python
from spire.xls import *
from spire.xls.common import *

# Workbook オブジェクトを作成します
workbook = Workbook()

# 最初のワークシートを取得します
sheet = workbook.Worksheets.get_Item(0)

# Web ページへのテキストハイパーリンクを追加します
cell1 = sheet.Range.get_Item("B3")
urlLink = sheet.HyperLinks.Add(cell1)
urlLink.Type = HyperLinkType.Url
urlLink.TextToDisplay = "Web サイトへのリンク"
urlLink.Address = "https://www.e-iceblue.com/"

# メールアドレスへのテキストハイパーリンクを追加します
cell2 = sheet.Range.get_Item("E3")
mailLink = sheet.HyperLinks.Add(cell2)
mailLink.Type = HyperLinkType.Url
mailLink.TextToDisplay = "メールアドレスへのリンク"
mailLink.Address = "mailto:このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。"

# 外部ファイルへのテキストハイパーリンクを追加します
cell3 = sheet.Range.get_Item("B7")
fileLink = sheet.HyperLinks.Add(cell3)
fileLink.Type = HyperLinkType.File
fileLink.TextToDisplay = "外部ファイルへのリンク"
fileLink.Address = "C:\\Users\\Administrator\\Desktop\\Report.xlsx"

# 他のシートのセルへのテキストハイパーリンクを追加します
cell4 = sheet.Range.get_Item("E7")
linkToSheet = sheet.HyperLinks.Add(cell4)
linkToSheet.Type = HyperLinkType.Workbook
linkToSheet.TextToDisplay = "Sheet2 のセルへのリンク"
linkToSheet.Address = "Sheet2!B5"

# UNC アドレスへのテキストハイパーリンクを追加します
cell5 = sheet.Range.get_Item("B11")
uncLink = sheet.HyperLinks.Add(cell5)
uncLink.Type = HyperLinkType.Unc
uncLink.TextToDisplay = "UNC アドレスへのリンク"
uncLink.Address = "\\\\192.168.0.121"

# 列幅を自動調整します
sheet.AutoFitColumn(2)
sheet.AutoFitColumn(5)

# 結果のファイルを保存します
workbook.SaveToFile("output/テキストハイパーリンクの挿入.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

PythonでExcelワークシートのテキストにハイパーリンクを挿入する

Python で Excel に画像ハイパーリンクを追加する

画像ハイパーリンクは、テキストではなく画像をクリック可能なリンクとして使用する方法です。視覚的にわかりやすく、インターフェースに直感的なナビゲーションを加えることができます。以下の手順で、Spire.XLS for Python を使用して Excel に画像ハイパーリンクを追加する方法を解説します:

  • Workbook オブジェクトを作成します。
  • Workbook.Worksheets.get_Item() メソッドを使って目的のワークシートを取得します。
  • Worksheet.Pictures.Add() メソッドで画像をワークシートに挿入します。
  • XlsBitmapShape.SetHyperLink() メソッドを使って画像にハイパーリンクを設定します。
  • Workbook.SaveToFile() メソッドでファイルを保存します。
  • Python
from spire.xls import *
from spire.xls.common import *

# Workbook オブジェクトを作成します
workbook = Workbook()

# 最初のワークシートを取得します
sheet = workbook.Worksheets.get_Item(0)

# ワークシートにテキストを追加します
sheet.Range.get_Item("B2").Text = "画像のハイパーリンク"
# 2列目の列幅を設定します
sheet.Columns[1].ColumnWidth = 15

# ワークシートに画像を挿入します
picture = sheet.Pictures.Add(3, 2, "Logo.png")

# 画像にハイパーリンクを設定します
picture.SetHyperLink("https://www.e-iceblue.com", True)

# 結果のファイルを保存します
workbook.SaveToFile("output/画像ハイパーリンクの挿入.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Spire.XLSを使用してExcelワークシートに画像へのハイパーリンクを挿入する

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

1 / 3