セキュリティとプライバシーは、データを保護する上で常に重要な側面です。 Excelファイルはデータの保存に広く使用されているため、改ざんや不正アクセスを防ぐための安全性が確保されています。これに従って、この記事では、PythonでExcelファイルを暗号化および復号化する方法について説明します。
Excelファイルを暗号化および復号化するPythonAPI
Excelファイルを暗号化および復号化するために、Java経由のPython用Aspose.Cellsを使用します。 Excelファイルの保護とは別に、APIは、Excelファイルの動的な生成、変更、および変換をサポートします。次のpipコマンドを使用してAPIをインストールできます。
pip install aspose-cells
Pythonを使用してExcelファイルを暗号化する
以下は、PythonでExcelファイルを暗号化する手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.getSettings().setPassword(string)メソッドを使用してパスワードを設定します。
- Workbook.setEncryptionOptions(EncryptionType, KeyLength)メソッドを使用して暗号化のタイプを設定します。
- Workbook.save(string)メソッドを使用して暗号化されたExcelファイルを保存します。
次のコードサンプルは、PythonでExcelファイルを暗号化する方法を示しています。
# Load XLSX workbook
wb = Workbook("workbook.xlsx")
# Password protect Excel file
wb.getSettings().setPassword("1234")
# Encrypt by specifying the encryption type
wb.setEncryptionOptions(EncryptionType.XOR, 40)
# Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic Provider)
wb.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128)
# Save Excel file
wb.save("workbook-encrypted.xlsx")
Pythonを使用してExcelファイルを復号化する
以下は、PythonでExcelファイルを復号化する手順です。
- LoadOptionsクラスのオブジェクトを作成し、XLSX形式で初期化します。
- LoadOptions.setPassword(string)メソッドを使用してパスワードを入力します。
- Workbookクラスのオブジェクトを作成し、暗号化されたExcelファイルのパスとLoadOptionsオブジェクトで初期化します。
- Workbook.getSettings().setPassword(None)を使用してパスワードをNoneに設定し、Excelファイルを復号化します。
- Workbook.save(string)メソッドを使用して、復号化されたExcelファイルを保存します。
次のコードサンプルは、PythonでExcelファイルを復号化する方法を示しています。
# Create load options
loadOptions = LoadOptions(LoadFormat.XLSX)
# Set original password
loadOptions.setPassword("1234")
# Load the Excel file
wb = Workbook("workbook-encrypted.xlsx", loadOptions)
# Set password to none
wb.getSettings().setPassword(None)
# Save Excel file
wb.save("workbook-decrypted.xlsx")
無料のAPIライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを使用できます。
結論
この記事では、Pythonを使用して暗号化を適用してExcelファイルを保護する方法を学習しました。さらに、Pythonで暗号化されたExcelファイルを復号化する方法を見てきました。 ドキュメントを使用して、PythonスプレッドシートAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお気軽にお問い合わせください。