【LibreOffice Calc】openpyxlでLibreOffice Calcのシートを削除する方法

openpyxlでLibreOffice Calcのシートを削除する方法

openpyxlでLibreOffice Calcのシートを作成する

openpyxlを使うと、簡単にシートを削除が出来る

LibreOffice Calcでシートを削除するのは面倒です。

これが、複数シートを削除するとなると、もっと面倒です。

それをopenpyxlを使うと、簡単にシートを削除することが出来ます。

複数のシートを削除することも簡単に行うことが出来ます。

今回のブログ記事では、openpyxlでLibreOffice Calcのシートを削除する方法をご紹介します。

なお、今回の使用するPythonのファイルですが、remove_sheets.pyにしました。

※この記事ではLinux(Xbunstu)で行いましたが、Windows、Macでも同じ作業でopenpyxlでLibreOffice Calcのファイルを作ることが出来ます。

openpyxlでLibreOffice Calcのシートを削除する方法

1.VS Codeでopenpyxlを扱えるようにする

VS Codeでopenpyxlを扱えるようにします。

以下のコードを入力します。

import openpyxl

これは、openpyxlをインポート(取り込む)という意味のコードです。

プログラミングに詳しくない方には意味が分からないと思いますので、これは、VS Codeでopenpyxlを扱えるようにするという意味に捉えてください。

2.シートを削除したいLibreOffice Calcのファイルを読み込む

シートを削除したいLibreOffice Calcのファイルを読み込みます。

以下のコードを入力します。

wb = openpyxl.load_workbook( "シートを削除したいLibreOffice Calcのファイル" )

ここで注意してほしいのは、読み込むLibreOffice Calcのファイル形式はxlsx形式のものでなければならないということです。

通所のLibreOffice Calcのファイル形式はxlsx形式はodf形式なのですが、この形式だと読み込めません。

LibreOffice Calcのファイルをopenpyxlで扱う場合は、保存する際に、ファイル形式をExcel 2007-365(.xlsx)を選んでxlsx形式にして下さい。

今回は例としてsample.xlsxを読み込みたいと思います。

openpyxlでLibreOffice Calcのシートを削除する方法

コードは以下のようになります。

wb = openpyxl.load_workbook( "sample.xlsx" )

3.VS Codeにシート名のリストを表示させる

一応、読み込んだLibreOffice CalcのファイルのシートがVS Codeで分かるようにします。

以下のコードを読み込みます。

print( wb.sheetnames )

これでVS Codeで読み込んだLibreOffice CalcのファイルのシートがVS Codeで分かるようになります。

4.シートを削除する

シートを削除するコードを入力します。

以下のコードを入力します。

wb.remove_sheet(wb.get_sheet_by_name('削除するシート名'))

今回は例としてシート2というシートを削除します。

コードは以下になります。

wb.remove_sheet(wb.get_sheet_by_name('シート2'))

5.削除したシート名を確認する

一応、実際にシート名をつけたシートが、追加されたかをVS Codeで分かるようにします。

以下のコードを入力します。

print( wb.sheetnames )

6.ファイルを上書き保存する

最後にファイルを上書き保存します。

以下のコードを入力します。

wb.save( "シートを削除したいLibreOffice Calcのファイル" )

今回はsample.xlsxというファイルを使用しましので、以下のようにコードを入力します。

wb.save( "sample.xlsx" )

以下は今まで書いたコードをまとめたものです。

import openpyxl

#シートを削除したいLibreOffice Calcのファイルを読み込む
wb = openpyxl.load_workbook( "sample.xlsx" )
 
#シート名のリストを表示
print( wb.sheetnames )

#シートを削除する
wb.remove_sheet(wb.get_sheet_by_name('シート2'))

#シート名の確認
print( wb.sheetnames )

#ワークブックを上書き保存
wb.save("sample.xlsx")

VS Codeの右上の▷ボタンをクリックします。

openpyxlでLibreOffice Calcのシートを削除する方法

sample.xlsx”を開くと、シート2が削除されています。

openpyxlでLibreOffice Calcのシートを削除する方法

LibreOffice Calcのファイルの複数のシートを削除する方法

1.  LibreOffice Calcのファイルのシートを削除する方法の1〜3までの作業を行う

LibreOffice Calcのファイルのシートを削除する方法の1〜3までの作業を行います。

2.  複数のシートを削除するコードを入力する

複数のシートを削除する場合は、以下のコードを複数入力します。

wb.remove_sheet(wb.get_sheet_by_name('削除するシート名'))

今回は、シート1、シート3、シート5を削除したいと思います。

コードは以下のように入力します。

wb.remove_sheet(wb.get_sheet_by_name('シート1'))
wb.remove_sheet(wb.get_sheet_by_name('シート3'))
wb.remove_sheet(wb.get_sheet_by_name('シート5'))

3.  LibreOffice Calcのファイルのシートを削除する方法の5、6までの作業を行う

LibreOffice Calcのファイルのシートを削除する方法の5、6までの作業を行います。

なお、以下は今まで書いたコードをまとめたものです。

import openpyxl

#シートを削除したいLibreOffice Calcのファイルを読み込む
wb = openpyxl.load_workbook( "sample.xlsx" )
 
#シート名のリストを表示
print( wb.sheetnames )

#シートを削除する
wb.remove_sheet(wb.get_sheet_by_name('シート1'))
wb.remove_sheet(wb.get_sheet_by_name('シート3'))
wb.remove_sheet(wb.get_sheet_by_name('シート5'))

#シート名の確認
print( wb.sheetnames )

#ワークブックを上書き保存
wb.save("sample.xlsx")

VS Codeの右上の▷ボタンをクリックします。

sample.xlsx”を開くと、シート1、シート3、シート5が削除されています。

openpyxlでLibreOffice Calcのシートを削除する方法
タイトルとURLをコピーしました