PythonでExcelファイルを作成する

Python)は、過去数年で支配的なプログラミング言語の1つになりました。 Pythonの有用性と人気は、Python愛好家のコミュニティを大きく成長させました。一方、スプレッドシートの自動化により、Webまたはデスクトップアプリケーション内からの大量のデータの保持、整理、および操作が容易になりました。この記事は、Pythonとスプレッドシートの自動化を組み合わせて、Pythonを使用してExcelXSLXまたはXLSファイルを作成する方法を示すことを目的としています。さらに、Pythonを使用してプログラムでExcelワークシートにデータ、画像、グラフ、表を挿入する方法を学習します。

Excel XLSX/XLSファイルを作成するPythonAPI-無料ダウンロード

Aspose.Cells for Python via Javaは、Pythonを使用してアプリケーション内にスプレッドシートの自動化を実装できる強力で使いやすいスプレッドシート操作APIです。新しいExcelファイルを作成したり、既存のスプレッドシートドキュメントを数行のコードで更新および変換したりできます。 Aspose.Cells for PythonをJava経由で統合して使用するには、次のpipコマンドを実行します。

pip install aspose-cells

ダウンロードセクションからAPIのパッケージをダウンロードすることもできます。

Pythonを使用してExcelXLSX/XLSファイルを作成する

まず、Java経由でPython用のAspose.Cellsを使用して簡単なExcelXLSXファイルを作成しましょう。これを行う手順は次のとおりです。

次のコードサンプルは、Pythonを使用してExcelXLSXファイルを作成する方法を示しています。

# create a new XLSX workbook
wb = Workbook(FileFormatType.XLSX)
# insert value in the cells
wb.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!")
# save workbook as .xlsx file
wb.save("workbook.xlsx")

出力

Pythonを使用してExcelファイルを作成する

Excelファイルにデータを挿入するPythonコード

前の例では、新しいExcelXLSXファイルを最初から作成しました。ただし、既存のExcelファイルの内容を更新する必要がある場合があります。この場合、Workbookコンストラクターへのパスを指定することにより、Excelファイルをロードできます。ワークシートとセルにアクセスするための残りのメソッドは同じままです。

次のコードサンプルは、Pythonを使用してExcelファイルを更新する方法を示しています。

# create a new XLSX workbook
wb = Workbook("workbook.xlsx")
# insert value in the cells
wb.getWorksheets().get(0).getCells().get("A1").putValue("Location")
wb.getWorksheets().get(0).getCells().get("B1").putValue("Person")
wb.getWorksheets().get(0).getCells().get("A2").putValue("Home")
wb.getWorksheets().get(0).getCells().get("B2").putValue("abc")
wb.getWorksheets().get(0).getCells().get("A3").putValue("Office")
wb.getWorksheets().get(0).getCells().get("B3").putValue("xyz")
# save workbook as .xlsx file
wb.save("workbook-updated.xlsx")

出力

PythonでExcelファイルを更新する

Pythonを使用して画像を含むExcelファイルを作成する

前の両方の例では、Excelワークシートのセルにテキストを挿入または更新する方法を見てきました。 Pythonを使用してワークシートに画像を挿入する方法を見てみましょう。

次のコードサンプルは、Pythonを使用してExcelファイルを作成して画像を挿入する方法を示しています。

# create a new XLSX workbook
workbook = Workbook(FileFormatType.XLSX)
worksheet = workbook.getWorksheets().get(0)
# Insert a string value to a cell
worksheet.getCells().get("C2").setValue("Image")
# set the 4th row height
worksheet.getCells().setRowHeight(3, 150)
# set the C column width
worksheet.getCells().setColumnWidth(3,50)
# add a picture to the D4 cell
index = worksheet.getPictures().add(3, 3, "aspose-cells-for-python.png")
# get the picture object
pic = worksheet.getPictures().get(index)
# save the Excel file 
workbook.save("workbook_with_image.xlsx")

出力

Pythonを使用してExcelに画像を挿入

Pythonを使用してExcelワークシート内でグラフを生成する

Excelワークシートのグラフは、ヒストグラム、ピラミッド、バー、ドーナツなどの形式でデータを視覚的に表すために使用されます。Java経由のPython用Aspose.Cellsは、ここにリストされている多数のグラフタイプをサポートします。以下は、Excelワークシート内にグラフを生成する手順です。

  • Workbookクラスを使用して、新しいExcelワークブックを作成するか、既存のワークブックをロードします。
  • 目的のワークシートにアクセスし、セルに値を追加します(ワークシートにすでにデータが含まれている場合はオプション)。
  • Worksheet.getCharts()メソッドを使用してグラフコレクションを取得します。
  • Worksheet.getCharts().add(type、upperLeftRow、upperLeftColumn、lowerRightRow、lowerRightColumn)メソッドを使用して、チャートコレクションに新しいチャートを追加します。
  • チャートのNSeriesを設定するセルの範囲を定義します。
  • Workbook.save(fileName)メソッドを使用してExcel.xlsxファイルを作成します。

次のコードサンプルは、Pythonを使用してExcelワークシートにグラフを生成する方法を示しています。

# create a new XLSX workbook
workbook = Workbook(FileFormatType.XLSX)
# obtaining the reference of the first worksheet
worksheets = workbook.getWorksheets()
sheet = worksheets.get(0)
# adding some sample value to cells
cells = sheet.getCells()
cell = cells.get("A1")
cell.setValue(50)
cell = cells.get("A2")
cell.setValue(100)
cell = cells.get("A3")
cell.setValue(150)
cell = cells.get("B1")
cell.setValue(4)
cell = cells.get("B2")
cell.setValue(20)
cell = cells.get("B3")
cell.setValue(50)
# get charts in worksheet
charts = sheet.getCharts()
# adding a chart to the worksheet
chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5)
chart = charts.get(chartIndex)
# adding NSeries (chart data source) to the chart ranging from "A1"
# cell to "B3"
serieses = chart.getNSeries()
serieses.add("A1:B3", True)
# write the Excel file 
workbook.save("workbook_with_chart.xlsx")

出力

Pythonを使用してExcelでグラフを作成する

Pythonを使用してExcelワークシートでピボットテーブルを作成する

Excelのピボットテーブルは、ワークシート内の大量のデータを要約するために作成されます。ピボットテーブルで使用するセルの範囲を指定できます。以下は、Javaを介してPython用のAspose.Cellsを使用してピボットテーブルを作成する手順です。

次のコードサンプルは、Pythonを使用してExcelでピボットテーブルを作成する方法を示しています。

# create a new XLSX workbook
workbook = Workbook(FileFormatType.XLSX)
# obtaining the reference of the newly added worksheet
sheetIndex = workbook.getWorksheets().add()
sheet = workbook.getWorksheets().get(sheetIndex)
cells = sheet.getCells()

# setting the value to the cells
cell = cells.get("A1")
cell.setValue("Sport")
cell = cells.get("B1")
cell.setValue("Quarter")
cell = cells.get("C1")
cell.setValue("Sales")

cell = cells.get("A2")
cell.setValue("Golf")
cell = cells.get("A3")
cell.setValue("Golf")
cell = cells.get("A4")
cell.setValue("Tennis")
cell = cells.get("A5")
cell.setValue("Tennis")
cell = cells.get("A6")
cell.setValue("Tennis")
cell = cells.get("A7")
cell.setValue("Tennis")
cell = cells.get("A8")
cell.setValue("Golf")

cell = cells.get("B2")
cell.setValue("Qtr3")
cell = cells.get("B3")
cell.setValue("Qtr4")
cell = cells.get("B4")
cell.setValue("Qtr3")
cell = cells.get("B5")
cell.setValue("Qtr4")
cell = cells.get("B6")
cell.setValue("Qtr3")
cell = cells.get("B7")
cell.setValue("Qtr4")
cell = cells.get("B8")
cell.setValue("Qtr3")

cell = cells.get("C2")
cell.setValue(1500)
cell = cells.get("C3")
cell.setValue(2000)
cell = cells.get("C4")
cell.setValue(600)
cell = cells.get("C5")
cell.setValue(1500)
cell = cells.get("C6")
cell.setValue(4070)
cell = cells.get("C7")
cell.setValue(5000)
cell = cells.get("C8")
cell.setValue(6430)

pivotTables = sheet.getPivotTables()
# adding a PivotTable to the worksheet
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")
# accessing the instance of the newly added PivotTable
pivotTable = pivotTables.get(index)
# unshowing grand totals for rows.
pivotTable.setRowGrand(False)
# dragging the first field to the row area.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)
# dragging the second field to the column area.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)
# dragging the third field to the data area.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)

# write the Excel file 
workbook.save("workbook_with_pivot_table.xlsx")
Pythonを使用してExcelでピボットテーブルを作成する

無料のAPIライセンスを取得する

無料の一時ライセンスを取得することで、評価の制限なしにPythonJava用のAspose.Cellsを使用できます。

結論

この記事では、Pythonを使用してExcelファイルを最初から作成する方法を見てきました。さらに、プログラムでExcelワークシート内にデータ、画像、グラフ、およびピボットテーブルを挿入する方法を学習しました。 ドキュメントを使用して、AsposeのPythonExcelAPIについて詳しく知ることができます。

関連項目

情報:Asposeは、他のPython API(たとえば、PowerPointや他の形式のプレゼンテーションを操作するためのAspose.Slides for Python via .NET)と、ドキュメントを表示、編集、マージ、および変換するための無料のオンラインツール(たとえば、PPTからJPGへのコンバーター)。