ヘッダーとフッターは、ドキュメントの各ページの上部および下部に配置される領域で、追加情報や要素を表示するために使用されます。ヘッダーには主にドキュメントのタイトル、会社名、日付などが含まれ、フッターにはページ番号、ファイルパス、著作権表示などが記載されることが一般的です。Excel にヘッダーとフッターを設定することで、ドキュメントの見栄えがよりプロフェッショナルで整理されたものになります。
この記事では、Spire.XLS for Python を使用して Excel にヘッダーおよびフッターを追加する方法をご紹介します。
Spire.XLS for Python は、Excel のページ設定(ヘッダー・フッター含む)を扱うために PageSetup クラスを提供しています。具体的には、LeftHeader、CenterHeader、RightHeader、LeftFooter などのプロパティがあり、ヘッダーやフッターの左・中央・右の各セクションを操作できます。ヘッダーやフッターにフィールドを追加したり、テキストに書式を適用したりするには、以下のスクリプトを使用します。
スクリプト | 説明 |
---|---|
&P | 現在のページ番号 |
&N | 総ページ数 |
&D | 現在の日付 |
&T | 現在の時刻 |
&G | 画像を表示 |
&A | ワークシート名 |
&F | ファイル名 |
&B | 太字テキスト |
&I | イタリック体テキスト |
&U | 下線付きテキスト |
&"フォント名" | フォントの指定(例:&"Arial") |
& 数値 | フォントサイズの指定(例:&12) |
&Kカラーコード | フォントカラーの指定(例:&KFF0000) |
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Spire.XLS for Python を使えば、ヘッダーまたはフッターの各セクションに書式付きテキストを追加できます。ファイル名やページ番号、日付など、さまざまな情報を柔軟に設定できます。以下はその手順です。
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()
さらに、Spire.XLS for Python はヘッダーやフッターに画像を追加することも可能です。以下はその詳細な手順です。
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()
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel において、フォントはデータの視認性や見た目を向上させる重要な要素です。スプレッドシートの作成、レポートの設計、情報の整理など、フォントを適切に設定・変更することで、全体の印象が大きく変わります。Excel では豊富なフォントオプションが用意されており、スタイルやサイズ、装飾などを自由にカスタマイズできます。
本記事では、Spire.XLS for Python を使用して Excel セルのフォントを設定・変更する方法 をご紹介します。
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Spire.XLS for Python を使用すると、特定のセルに対してフォントを簡単にカスタマイズできます。CellRange.Style.Font プロパティを利用することで、フォント名・色・サイズ・スタイルを柔軟に設定できます。以下の手順で、特定のセルにフォントスタイルを適用する方法を確認しましょう。
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()
セル内の特定の文字だけを強調したい場合には、1 つのセルに複数のフォントを適用することができます。Spire.XLS for Python を使用して、次の手順で実現できます。
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 for Python では、セルの塗りつぶし色や文字揃え、フォントなどの書式を扱うための CellStyle クラスが提供されています。この CellStyle を作成し、CellRange.CellStyleName プロパティでセル範囲に適用するか、Worksheet.CellStyleName プロパティでワークシート全体に適用することが可能です。セル範囲のフォントスタイルを変更するには、以下の手順を実行します。
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 日間有効な一時ライセンスを取得してください。
セルの結合とは、隣接する複数のセルを1つの大きなセルにまとめる操作です。結合されたセルは元のセルの内容やプロパティを引き継ぎます。この機能は、見出し行を作成したり、広い領域にデータを表示したい場合に非常に便利です。 一方、セルの結合解除は、結合されたセルを元の複数セルに戻す操作です。解除後のセルは独立した状態となり、それぞれ異なる内容を入力することができます。 このようなセルの結合・解除は、スプレッドシートで表のレイアウトや構造を柔軟に調整し、データの可読性を向上させるためによく使用されます。 本記事では、Spire.XLS for Python を使用して、PythonでExcelファイル内のセルを結合または結合解除する方法をご紹介します。
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Spire.XLS for Python を使用すると、特定の行または列のセルを簡単に結合することができます。以下はその手順です。
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()
特定の列や行だけでなく、任意のセル範囲を結合することも可能です。以下の手順で行います。
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()
Spire.XLS for Python を使えば、結合されたセルをいつでも元に戻すことが可能です。以下は特定の行または列のセルの結合を解除する手順です。
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()
特定のセル範囲の結合も以下の手順で簡単に解除できます。
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()
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
集合縦棒グラフと積み上げ縦棒グラフは、縦棒グラフの2つの代表的な形式です。集合縦棒グラフは、複数のカテゴリ間で値を比較するのに適しており、積み上げ縦棒グラフはカテゴリごとの合計値とその内訳の割合を視覚的に把握するのに便利です。
この記事では、Spire.XLS for Python を使用して、Python で Excel ワークシートに集合縦棒グラフまたは積み上げ縦棒グラフを作成する方法をご紹介します。
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
ワークシートにグラフを追加するには、Worksheet.Chart.Add(ExcelChartType chartType) メソッドを使用します。ExcelChartType 列挙体には、Microsoft Excel にあらかじめ定義されているさまざまな種類のグラフが含まれています。
以下は、Spire.XLS for Python を使って集合縦棒グラフを作成する手順です:
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()
積み上げ縦棒グラフの作成手順は、集合縦棒グラフとほぼ同じです。異なる点は、グラフの種類を ColumnClustered ではなく ColumnStacked に変更する必要があることです。
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()
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excelのコメント機能は、ユーザーが補足情報や備考を追加するための便利な手段です。コメントはテキストや画像の形式で挿入でき、指定セルのデータに対する説明や補足情報を提供します。コメントが追加されたセルにマウスを合わせると、その内容を簡単に確認でき、Excelドキュメントの可読性と理解度が向上します。
この記事では、Spire.XLS for Python を使用して Python で Excelワークシートにコメントを追加する方法 をご紹介します。
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Spire.XLS for Python では、CellRange.AddComment メソッドを使って、Excelのセルにテキストコメントを追加できます。以下に詳しい手順を示します。
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()
Spire.XLS for Python では、CellRange.AddComment と ExcelCommentObject.Fill.CustomPicture メソッドを使って、指定したセルに画像付きコメントを追加することも可能です。以下がその手順です。
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()
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
セルのロックは、スプレッドシート内の特定のセル範囲の内容が誤って変更されるのを防ぐために使用されます。これは、ワークシートを共有する場合や特定のデータを保護したい場合に特に便利です。セルをロックすると、パスワードを知っているか、適切な権限を持つユーザー以外は編集できなくなります。この機能は、データのセキュリティと整合性を確保する上で非常に重要です。
本記事では、Spire.XLS for Python を使用し Python で Excel の特定のセル・列・行をロックする方法をご紹介します。
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Spire.XLS for Python を使用すると、Worksheet.Range[].Style.Locked プロパティを "True" に設定することで、任意のセル範囲をロックできます。以下の手順で操作します。
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()
ワークシート内の特定の列をロックしたい場合は、Worksheet.Columns[].Style.Locked プロパティを "True" に設定します。その他の手順は前述とほぼ同じです。
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()
同様に、特定の行をロックしたい場合は、Worksheet.Rows[].Style.Locked プロパティを "True" に設定します。手順は以下の通りです。
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()
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30日間有効な一時ライセンスを取得してください。
バーコードは、在庫管理、小売システム、物流など、さまざまなデータ駆動型分野において不可欠な存在です。Python でバーコードを生成するには、複数の形式への対応や大規模な自動処理などの理由から、複雑になることがあります。そのため、柔軟かつ効率的にバーコードを作成できる、信頼性の高い Python バーコード生成ライブラリが必要です。
本記事では、Spire.Barcode for Python を使用して、Python で正確かつ効率的にバーコードを生成する方法をご紹介します。
Spire.Barcode for Python は、Python アプリケーションにバーコードの生成・読み取り機能を追加したい開発者向けに設計された、使いやすく高機能なバーコードライブラリです。以下のような特長があります:
Spire.Barcode for Python をインストールするには、以下のコマンドを実行します:
pip install spire.barcode
簡単なバーコード生成であれば、無償版の Free Spire.Barcode for Python も利用できます:
pip install spire.barcode.free
Python でバーコードを作成するには、通常、バーコードの種類(例:Code 128 や QR コード)とエンコードするデータを指定します。Spire.Barcode のようなライブラリを使用すれば、わずか数行のコードで設定できます。
まずは、Pythonスクリプトの先頭で必要なクラスをインポートします。
from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator, Code128SetMode, FontStyle, Color
BarcodeSettings オブジェクトを作成し、バーコードのプロパティを設定します。
# 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()
設定済みの BarcodeSettings を使って BarCodeGenerator を作成し、画像を生成して保存します。
# BarCodeGeneratorの作成
barcodeGenerator = BarCodeGenerator(barcodeSettings)
# バーコード画像の生成
barcodeImage = barcodeGenerator.GenerateImage()
# 画像の保存
with open("output/Code 128.png", "wb") as fp:
fp.write(barcodeImage)
生成されたバーコード:
このスクリプトではCode 128形式のバーコード画像を生成して保存します。
BarCodeType や Data の値を変更すればカスタマイズが可能です。
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 を使用すれば、複数のバーコードを一括生成することも可能です。在庫管理やラベル印刷、各種自動処理に最適です。
# バーコードにしたいデータのリスト
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 次元バーコードの一括生成まで、あらゆる場面で活用可能です。多様な規格対応と高品質な出力を、最小限のコードで実現できるこのライブラリは、あらゆる業界の開発者にとって心強いツールです。
Spire.Barcode for Python のようなライブラリを使うことで、Code 128 や QR コードなどさまざまな規格のバーコードを簡単に生成できます。パッケージをインストールし、設定を構成して画像として保存するだけです。
バーコードは、文字列データをバーやモジュールの視覚的パターンに変換して生成されます。Python では、Spire.Barcode のようなライブラリがその変換を行い、対応する画像を出力します。
バーコードジェネレーターであれば、バーコードの種類(例:Code 128)とデータを定義し、Spire.Barcode などのライブラリを使って画像を生成・保存します。ループや関数を用いて自動化することも可能です。
Spire.Barcode for Python を使用すれば、QR コードもすばやく生成できます。以下はデータを埋め込んだ QR コードの例です:
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コード:
この方法で、URL、テキスト、IDなどをQRコードに埋め込むことができます。
関連リンク:PythonでQRコードを生成・読み取る方法
Spire.Barcode for Python では、機能制限や透かしのない無償評価ライセンスを提供しています。ぜひ このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。までご連絡のうえ、ライセンスを取得して、この高機能なバーコードライブラリの全機能をお試しください。
QR コードは、URL や連絡先、決済情報など、さまざまな情報を格納できる 2 次元バーコードの一種です。デジタルコンテンツに素早く簡単にアクセスできるため、QR コードは現代のテクノロジー社会において非常に便利なツールとして広く利用されています。
この記事では、Spire.Barcode for Python を使用して、Python で QR コードを生成および読み取る方法をご紹介します。
Spire.Barcode for Python は、以下の pip コマンドでインストールできます:
pip install spire.barcode
軽量な処理であれば、無償版の Free Spire.Barcode for Python も利用可能です。こちらは次のコマンドでインストールできます:
pip install spire.barcode.free
Spire.Barcode for Python では、BarcodeSettings クラスを使用してバーコード生成に関する各種設定を行うことができます。設定項目には、バーコードの種類、エンコードするデータ、色、余白、解像度(水平および垂直)などが含まれます。
必要な設定を構成したら、それに基づいて BarcodeGenerator インスタンスを作成し、GenerateImage() メソッドを呼び出すことで QR コード画像を生成できます。
Python で QR コードを生成する手順は以下のとおりです:
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 は、バーコード画像の認識を担当する BarcodeScanner クラスを提供しています。このクラスには、バーコードからデータを抽出するための複数のメソッドが用意されています:
以下のコードは、QR コード画像をスキャンする方法を示しています。
from spire.barcode import *
# ライセンスキーを適用
License.SetLicenseKey("ライセンスキー")
# 1つのバーコードを含む画像ファイルをスキャン
result = BarcodeScanner.ScanOneFile("output/QRCode.png")
# 複数のバーコードを含む画像ファイルをスキャン
# results = BarcodeScanner.ScanFile("output/Image.png")
# 結果を出力
print(result)
スキャンの結果:
Spire.Barcode for Python のすべての機能を体験したい場合は、弊社このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。までご連絡のうえ、30 日間有効な一時ライセンスをお申し込みください。
Excel のフィルター機能(オートフィルター)は、データの絞り込みや分析に便利な機能です。しかし、データの確認が終わったり、元の状態でファイルを共有したりする場合は、フィルターを解除する必要があります。
この記事では、.NET アプリケーション内で Spire.XLS for .NET を使用し、Excel ファイルのフィルターを自動的に解除する方法をご紹介します。単一のシートだけでなく、複数ファイルをバッチ処理するケースにも対応可能です。
目次
Excel ファイルのフィルターを解除する主な理由は次のとおりです:
つまり、オートフィルターの解除は、データの可視性と一貫性を保つために重要です。
まずは 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() | 編集後のファイル保存 |
以下は、Excel シート上のオートフィルターをすべて解除する 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 ワークシートの比較
Excel のオートフィルターは、連続した列範囲に適用されるため、特定の列だけを解除することは直接できません。代わりに、解除したい列をフィルター範囲から除いたうえで、再設定する必要があります。
以下はその手順です:
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 ワークシートの比較
AutoFilters.Clear() メソッドを使用することで、対象のワークシートに設定されたすべてのオートフィルターを解除できます。
Spire.XLS for .NET を使えば、数行の C# コードで Excel を開かずにフィルター解除が可能です。
オートフィルターは連続する列に適用されるため、特定列のみを解除することはできません。代わりに一度すべてのフィルターを解除し、対象外の列を除いた範囲で再設定します。
はい、Free Spire.XLS for .NET という無料版があります。商用以外の用途であれば、ウォーターマークなしで使用できます。
機能制限のない評価版を希望する場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。も可能です。
C# と Spire.XLS for .NET を使えば、Excel ファイルのフィルター解除をスムーズに自動化できます。レポートや資料をクリアな状態で出力したい場合など、業務効率化に役立ちます。
Excel のハイパーリンク機能は、スプレッドシート内にクリック可能なリンクを作成できる便利なツールです。ハイパーリンクを追加することで、別のシートやブック、Web サイト、あるいは同じブック内の特定のセルへ簡単に移動できます。外部リソースの参照や関連データの接続、インタラクティブなレポートの作成など、さまざまな目的で活用できます。
本記事では、Spire.XLS for Python を使用して、Excel ファイルにハイパーリンクを追加する方法をご紹介します。
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
テキストハイパーリンクは、クリックすることで Excel 内の特定の場所、外部リソース、またはメールアドレスへ移動できる文字列やフレーズです。以下の手順で、Spire.XLS for Python を使用して Excel にテキストハイパーリンクを追加する方法を解説します:
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()
画像ハイパーリンクは、テキストではなく画像をクリック可能なリンクとして使用する方法です。視覚的にわかりやすく、インターフェースに直感的なナビゲーションを加えることができます。以下の手順で、Spire.XLS for Python を使用して Excel に画像ハイパーリンクを追加する方法を解説します:
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()
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。