🖥️

Python で Excel ワークシートを操作:追加、削除、移动、非表示

に公開

日常の事务作业やデータ処理において、Excel は広く使用されているツールです。Python 开発者にとって、コードを通じて効率的に Excel ワークシートを操作できることは、作業効率を大幅に向上させることができます。
Free Spire.XLS for Python は机能が强大な Excel 処理ライブラリとして、Excel ワークシートに対する各种操作を実现するための便利なインターフェースを提供しています。本文では、この无料ライブラリを使用して Excel ワークシートの一般的な操作を実现する方法について详细に说明し、追加、削除、非表示、移动という 4 つの典型的なシーンのコード例を含めています。

一、环境准备

無料の Python Excel ライブラリである Free Spire.XLS for Python は、pip を通じてインストールできます。

pip install Spire.Xls.Free

注意:無料版には一部制限があります(例:最大行数の制限)

二、Excel ワークシートの操作具体例

1️⃣ ワークシートの追加

Excel ファイルを処理する際に、ワークシートを追加するのはよくあるニーズです。Workbook.Worksheets.Add() メソッドを使用して新しいワークシートを追加することができ、新しいワークシートに名前を指定することもできます。

例えば、次の Python コードは新しい Excel ワークブックを作成し、「売上データ」と「顾客情报」という 2 つのワークシートを追加します。

from spire.xls import *
from spire.xls.common import *

# ワークブックを作成
workbook = Workbook()
# デフォルトのワークシートを削除
workbook.Worksheets.Clear()

# 最初のワークシートを追加して名前を付ける
worksheet1 = workbook.Worksheets.Add("売上データ")
# 2番目のワークシートを追加して名前を付ける
worksheet2 = workbook.Worksheets.Add("顾客情报")

# ワークブックを保存
workbook.SaveToFile("追加.xlsx", FileFormat.Version2016)
workbook.Dispose()

一度に複数のワークシートを追加する必要がある場合は、以下を使用することができます。

# Excelドキュメントに3つの新しいワークシートを追加する
sheetCount = 3
workbook.CreateEmptySheets(sheetCount)

2️⃣ ワークシートの削除

特定のワークシートが不要になった场合、削除することができます。Free Spire.XLS for Python は、RemoveAt() メソッドと Remove() メソッドを提供しており、ワークシートのインデックスまたは名前によって削除するワークシートを指定する。

以下の Python コードは、「一时データ」という名前のワークシートを削除する方法を示しています。

from spire.xls import *
from spire.xls.common import *

# Workbook クラスのオブジェクトを作成
workbook = Workbook()
# サンプル Excel ファイルをロード
workbook.LoadFromFile("input.xlsx")

# 名前で特定のワークシートを取得し、それを削除
worksheet = workbook.Worksheets["一时データ"]
workbook.Worksheets.Remove(worksheet)

# またはインデックスによってファイルから特定のワークシートを削除
# workbook.Worksheets.RemoveAt(0)

# 结果ファイルを保存
workbook.SaveToFile("削除.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

3️⃣ ワークシートの非表示

特定の状况では、一部のワークシートが随意に阅覧または编集されることを望まない场合があります。その时は、ワークシートの Visibility プロパティを设定することで非表示にすることができます。2 種類の非表示モードがあります

  • WorksheetVisibility.Hidden:通常の非表示を実现します。
  • WorksheetVisibility.StrongHidden:深度の非表示を実现します。(表示するには VBA コードが必要です)

Python のサンプルコードは以下の通りです。

from spire.xls.common import *
from spire.xls import *

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

# Excel ワークブックをロード
workbook.LoadFromFile("input.xlsx")

# 最初のワークシートを非表示にする
workbook.Worksheets[0].Visibility = WorksheetVisibility.Hidden

# 4番目のワークシートを深度非表示に设定する
workbook.Worksheets[3].Visibility = WorksheetVisibility.StrongHidden

# ワークブックを保存
workbook.SaveToFile("非表示.xlsx")
workbook.Dispose()

非表示を解除する场合は、以下を使用します。

# 2番目のワークシートの非表示を解除
workbook.Worksheets[1].Visibility = WorksheetVisibility.Visible

4️⃣ワークシートの移動

ワークシートの顺序を调整することで、Excel ファイルの構造をより明確にすることができます。MoveWorksheet() メソッドを使用してワークシートを移动することができ、このメソッドでは目标位置のインデックスを指定する必要があります。

例えば、インデックスが 0 のワークシートをインデックスが 2 の位置に移动するコードは以下の通りです。

from spire.xls import *
from spire.xls.common import *

# Workbook クラスのオブジェクトを作成
workbook = Workbook()
# サンプル Excel ファイルをロード
workbook.LoadFromFile("input.xlsx")

# インデックスによってファイル内の特定のワークシートを取得
sheet = workbook.Worksheets[0]

# ワークシートをファイル内の3番目の位置に移动
sheet.MoveWorksheet(2)

# 结果ファイルを保存
workbook.SaveToFile("移動.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Free Spire.XLS for PythonはPython開発者に強力なExcel操作機能を提供し、特に自動化されたワークシート管理タスクに最適です。本記事で紹介するコア機能を通じて、ワークシートの追加、削除、非表示化、移動を容易に実現できます。

Discussion