1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでExcelセルの値を設定・更新・取得する方法

Last updated at Posted at 2024-10-25

Excelワークブックは広く使用されているデータ管理ツールであり、Pythonと組み合わせることで大量データの自動処理が可能になります。Pythonを使用してExcelセルの値を設定、更新、および取得することで、作業効率を大幅に向上させ、手作業の繰り返しを減らすだけでなく、データ処理の柔軟性と拡張性を強化し、より多くの価値を生み出すことができます。この方法の活用範囲は、財務報告の自動化からデータ分析レポートの生成まで多岐にわたり、さまざまな業務で効率を大幅に向上させることができます。本記事ではPythonを使用してExcelファイル内のセルの値を設定、更新、および取得する方法を紹介します。

この記事で使用する方法には、Spire.XLS for Pythonが必要です。PyPIからインストールできます:pip install spire.xls

無料ライセンスの申請

PythonでExcelセルの値を設定する

ライブラリ内のWorksheet.Range.get_Item()メソッドを使用して、Excelワークシート内の指定セルをCellRangeオブジェクトとして取得します。例えば、Range.get_Item(2, 1)Range.get_Item("A2")(2行目1列目)で指定できます。その後、CellRange.Valueプロパティを使用してセルの値を設定するほか、テキスト、数値、ブール値など他の値を設定できます。また、CellRangeクラスにあるフォーマット設定用のプロパティを使用してセルの書式も設定できます。操作手順の例は以下のとおりです:

  1. 必要なモジュールをインポートする:WorkbookFileFormatDateTimeHorizontalAlignType
  2. Workbookオブジェクトを作成する。
  3. Workbook.Worksheets.Clear()メソッドでデフォルトのワークシートをクリアし、Workbook.Worksheets.Add(sheetName: str)メソッドで新しいワークシートを追加する。
  4. Worksheet.Range.get_Item()メソッドを使って指定セルをCellRangeオブジェクトとして取得する。
  5. TextValueDataTimeValueFormulaNumberValueなどのプロパティでセルの値を設定する。
  6. セルの書式を設定する。
  7. Workbook.SaveToFile()メソッドでワークブックを保存する。
  8. リソースを解放する。

コード例

from spire.xls import Workbook, FileFormat, DateTime, HorizontalAlignType
import datetime

# Workbookのインスタンスを作成してExcelワークブックを作成
workbook = Workbook()

# デフォルトのワークシートをクリアし、新しいワークシートを追加
workbook.Worksheets.Clear()
sheet = workbook.Worksheets.Add("Sheet1")

# セルを取得し、テキストを設定
cell = sheet.Range.get_Item(2, 2)
cell.Text = "テキスト例"

# セルを取得し、通常の値を設定
cell1 = sheet.Range.get_Item(3, 2)
cell1.Value = "$123456"

# セルを取得し、日付値を設定
cell2 = sheet.Range.get_Item(4, 2)
cell2.DateTimeValue = DateTime.get_Now()

# セルを取得し、ブール値を設定
cell3 = sheet.Range.get_Item(5, 2)
cell3.BooleanValue = True

# セルを取得し、数式を設定
cell4 = sheet.Range.get_Item(6, 2)
cell4.Formula = "=SUM(B7)"

# セルを取得し、数値を設定し、数値フォーマットを設定
cell5 = sheet.Range.get_Item(7, 2)
cell5.NumberValue = 123456
cell5.NumberFormat = "#,##0.00"

# セルを取得し、数式配列を設定
cell6 = sheet.Range.get_Item(8, 2)
cell6.HtmlString = "<p><span style='color: blue; font-size: 18px;'>青色フォント18ピクセルサイズ</span></p>"

# フォーマットを設定
cellRange = sheet.Range.get_Item(2, 2, 7, 2)
cellRange.Style.Font.FontName = "Arial"
cellRange.Style.Font.Size = 14
cellRange.Style.HorizontalAlignment = HorizontalAlignType.Left

# 列幅を自動調整
sheet.AutoFitColumn(2)

# ファイルを保存
workbook.SaveToFile("output/SetExcelCellValue.xlsx", FileFormat.Version2016)
workbook.Dispose()

結果
PythonでExcelセルの値を設定

PythonでExcelセルの値を更新する

Excelセルの値を更新する際には、該当セルを取得して、前述の方法で再設定することで、セルの値を更新できます。以下は操作手順の例です:

  1. 必要なモジュールをインポートする:Workbook
  2. Workbookオブジェクトを作成する。
  3. Workbook.LoadFromFile()メソッドでExcelファイルを読み込む。
  4. Workbook.Worksheets.get_Item()メソッドでワークシートを取得する。
  5. Worksheet.Range.get_Item()メソッドでセルを取得する。
  6. CellRangeクラス内のプロパティでセルの値を再設定する。
  7. Workbook.SaveToFile()メソッドでワークブックを保存する。
  8. リソースを解放する。

コード例

from spire.xls import Workbook

# Workbookのインスタンスを作成
workbook = Workbook()

# Excelファイルをロード
workbook.LoadFromFile("output/SetExcelCellValue.xlsx")

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

# セルを取得
cell = sheet.Range.get_Item(2, 2)

# セルの値を変更
cell.NumberValue = 45150
cell.NumberFormat = "[Green]#,##0;[RED]-#,##0"

# ワークブックを保存
workbook.SaveToFile("output/UpdateExcelCellValue.xlsx")
workbook.Dispose()

結果
PythonでExcelセルの値を更新

PythonでExcelセルの値を取得する

CellRange.Valueプロパティを使うことで、セルの値を直接取得できます。以下はExcelセルの値を読み取る操作手順の例です:

  1. 必要なモジュールをインポートする:Workbook
  2. Workbookオブジェクトを作成する。
  3. Workbook.LoadFromFile()メソッドでExcelファイルを読み込む。
  4. Workbook.Worksheets.get_Item()メソッドでワークシートを取得する。
  5. 指定範囲内のセルをループし、CellRange.Valueプロパティでセルの値を取得する。
  6. 結果を出力する。

コード例

from spire.xls import Workbook

# Workbookのインスタンスを作成
workbook = Workbook()

# Excelファイルをロード
workbook.LoadFromFile("output/SetExcelCellValue.xlsx")

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

# 第2列の第2行から第8行のセルをループ
for i in range(2, 8):
    # セルを取得
    cell = sheet.Range.get_Item(i, 2)
    # セルの値を取得
    value = cell.Value
    # 値を出力
    print(value)
workbook.Dispose()

結果
PythonでExcelセルの値を取得

この記事では、Pythonを使用してExcelセルの値を設定、更新、および取得する方法について説明しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?