Python)は、過去数年で支配的なプログラミング言語の1つになりました。 Pythonの有用性と人気は、Python愛好家のコミュニティを大きく成長させました。一方、スプレッドシートの自動化により、Webまたはデスクトップアプリケーション内からの大量のデータの保持、整理、および操作が容易になりました。この記事は、Pythonとスプレッドシートの自動化を組み合わせて、Pythonを使用してExcelXSLXまたはXLSファイルを作成する方法を示すことを目的としています。さらに、Pythonを使用してプログラムでExcelワークシートにデータ、画像、グラフ、表を挿入する方法を学習します。
- Excelファイルを作成するPythonAPI
- Pythonを使用してExcelXLS/ XLSXファイルを作成
- Pythonを使用して既存のExcelファイルにデータを挿入
- Pythonを使用して画像を含むExcelファイルを作成する
- Pythonを使用してExcelワークシート内でグラフを生成する
- Pythonを使用してExcelワークシートにピボットテーブルを作成する
- Aspose.Cellsを無料で使用
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ファイルを作成しましょう。これを行う手順は次のとおりです。
- Workbookクラスの新しいオブジェクトを作成します。
- Workbook.getWorksheets().get(index)メソッドを使用して、ブック内の目的のWorksheetにアクセスします。
- Worksheet.getCells().get( “A1”).putValue()メソッドを使用して、目的のセルに値を入力します。
- Workbook.save()メソッドを使用して、ブックを.xlsxファイルとして保存します。
次のコードサンプルは、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")
出力
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ファイルを作成する
前の両方の例では、Excelワークシートのセルにテキストを挿入または更新する方法を見てきました。 Pythonを使用してワークシートに画像を挿入する方法を見てみましょう。
- Workbookクラスを使用して、新しいExcelワークブックを作成するか、既存のワークブックをロードします。
- Worksheetクラスを使用して、画像を挿入するワークシートにアクセスします。
- Worksheet.getPictures().add(upperLeftRow、upperLeftColumn、fileName)メソッドを使用して画像を挿入します。
- Workbook.save(fileName)メソッドを使用して、ブックを.xlsxファイルとして保存します。
次のコードサンプルは、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ワークシート内でグラフを生成する
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ワークシートでピボットテーブルを作成する
Excelのピボットテーブルは、ワークシート内の大量のデータを要約するために作成されます。ピボットテーブルで使用するセルの範囲を指定できます。以下は、Javaを介してPython用のAspose.Cellsを使用してピボットテーブルを作成する手順です。
- Excelファイルをロードするか、Workbookクラスを使用して新しいファイルを作成します。
- ワークシートにデータを挿入します(オプション).
- Worksheet.getPivotTables()メソッドを使用してピボットテーブルにアクセスします。
- Worksheet.getPivotTables().add(sourceData、destCellName、tableName)メソッドを使用して新しいピボットテーブルを追加します。
- ピボットテーブルの行、列、およびデータ領域を構成します。
- Workbook.save(fileName)メソッドを使用して、ブックを.xlsxとして保存します。
次のコードサンプルは、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")
無料のAPIライセンスを取得する
無料の一時ライセンスを取得することで、評価の制限なしにPythonJava用のAspose.Cellsを使用できます。
結論
この記事では、Pythonを使用してExcelファイルを最初から作成する方法を見てきました。さらに、プログラムでExcelワークシート内にデータ、画像、グラフ、およびピボットテーブルを挿入する方法を学習しました。 ドキュメントを使用して、AsposeのPythonExcelAPIについて詳しく知ることができます。
関連項目
- Pythonを使用してExcelファイルをPDFに変換
- PythonでExcelファイルを読む
- PythonでExcelデータをGoogleスプレッドシートにエクスポート
- PythonでExcelファイルに透かしを追加
- PythonのExcelワークシートにコメントを追加
- PythonでPowerPointファイルを作成
- PythonでPowerPointPPTをHTMLに変換
情報:Asposeは、他のPython API(たとえば、PowerPointや他の形式のプレゼンテーションを操作するためのAspose.Slides for Python via .NET)と、ドキュメントを表示、編集、マージ、および変換するための無料のオンラインツール(たとえば、PPTからJPGへのコンバーター)。