この記事では、Pythonのopenpyxlライブラリを使い、新しいExcelワークブックの作成、シートの追加・削除、セルへのデータ書き込みといった、基本的なExcelファイル書き出し操作について解説します。
1. 新しいExcelブックの作成と保存
openpyxl.Workbook()を呼び出すことで、メモリ上に新しい空のワークブックが作成されます。この時点ではまだファイルは保存されていません。
ワークブックには、デフォルトで'Sheet'という名前のシートが一つ含まれています。wb.activeでこのシートにアクセスし、.title属性で名前を変更できます。
最後に、wb.save()メソッドを呼び出して、ワークブックを.xlsxファイルとしてディスクに保存します。
import openpyxl
# 新しいワークブックを作成
workbook = openpyxl.Workbook()
# アクティブなシートを取得
sheet = workbook.active
# シートのタイトルを変更
sheet.title = 'SalesReport'
# 'sales_report_2025.xlsx'という名前でファイルを保存
workbook.save('sales_report_2025.xlsx')
2. シートの追加と削除
ワークブックに新しいシートを追加したり、不要なシートを削除したりすることも簡単です。
wb.create_sheet() このメソッドは新しいシートを作成します。title引数でシート名を、index引数でシートの位置(0から始まる)を指定できます。
del wb['シート名'] 指定した名前のシートを削除します。(古いremove_sheet()は非推奨)
import openpyxl
# 空のワークブックを作成
workbook = openpyxl.Workbook()
print(f"作成直後のシート: {workbook.sheetnames}")
# 新しいシートを追加
workbook.create_sheet(title='ProductsList', index=0) # 先頭にシートを追加
workbook.create_sheet(title='ClientData') # 末尾にシートを追加
print(f"追加後のシート: {workbook.sheetnames}")
# 'Sheet'という名前のデフォルトシートを削除
del workbook['Sheet']
print(f"削除後のシート: {workbook.sheetnames}")
workbook.save('multi_sheet_example.xlsx')
3. セルに値を書き込む
シートオブジェクトのセルに値を書き込むには、'A1'のような座標をキーとして直接代入するのが最も簡単な方法です。
import openpyxl
# 新しいワークブックを作成
workbook = openpyxl.Workbook()
sheet = workbook.active
# セルA1に文字列を書き込む
sheet['A1'] = 'Sample Report'
# セルB2に数値を書き込む
sheet['B2'] = 12345
# 簡単なデータリストを書き込むループ
data = [
['Product', 'Price', 'Stock'],
['Apple', 150, 200],
['Banana', 120, 350],
]
for row_data in data:
sheet.append(row_data) # appendは次の空いている行にリストを書き込む便利なメソッド
workbook.save('data_entry_example.xlsx')
まとめ
openpyxlによるExcelファイルの作成と書き出しは、openpyxl.Workbook()で新しいブックオブジェクトを作成し、シートを操作(名前変更、追加、削除)し、セルにsheet['A1'] = valueのように値を代入し、最後にworkbook.save()でファイルに保存する、という流れで行います。これらの基本操作を組み合わせることで、プログラムの計算結果を整形されたExcelレポートとして出力するなど、様々なタスクを自動化できます。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
