Створіть зведену таблицю в Excel за допомогою Python

Зведені таблиці в електронних таблицях Excel використовуються для підсумовування даних в інтерактивному режимі. Припустімо, у вас є дані кількох рахунків-фактур і ви хочете отримати їх загальну суму, згруповану за клієнтами або продуктами. У таких випадках застосовуються зведені таблиці. У цій статті ви дізнаєтеся, як працювати зі зведеними таблицями в Excel на Python. Зокрема, ви дізнаєтеся, як створити зведену таблицю в Excel на Python. Крім того, ми продемонструємо, як програмно форматувати клітинки у зведених таблицях Excel.

Бібліотека Python для створення зведеної таблиці в Excel – безкоштовно завантажити

Aspose.Cells for Python — це високошвидкісна бібліотека, призначена для створення та обробки файлів Excel. Ми будемо використовувати цю бібліотеку для створення зведених таблиць в електронних таблицях Excel.

Ви можете завантажити його пакет або встановити його з PyPI за допомогою такої команди pip.

pip install aspose-cells

Створіть зведену таблицю в Excel на Python

Нижче наведено кроки для створення зведеної таблиці в Excel за допомогою Python.

  • Створіть новий або завантажте наявний файл Excel за допомогою класу Workbook.
  • Заповніть аркуш даними (необов’язково).
  • Отримайте колекцію зведених таблиць в об’єкт PivotTableCollection за допомогою методу Worksheet.getPivotTables().
  • Додайте нову зведену таблицю за допомогою методу PivotTableCollection.add(string, string, string) і отримайте її посилання в об’єкті.
  • Установіть такі параметри, як загальна сума, форматування тощо.
  • Додайте поля до області за допомогою методу PivotTable.addFieldToArea(int, int).
  • Збережіть книгу за допомогою методу Workbook.save(string).

У наведеному нижче прикладі коду показано, як додати зведену таблицю в Excel на Python.

import jpype
import asposecells

jpype.startJVM()
from asposecells.api import Workbook, PivotFieldType

# Створення екземпляра об’єкта Workbook
workbook = Workbook()

# Додайте новий аркуш і отримайте посилання на нього
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)

# Отримати клітинки аркуша
cells = worksheet.getCells()

# Установіть значення клітинок
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 = worksheet.getPivotTables()

# Додайте нову зведену таблицю до аркуша
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")

# Доступ до екземпляра щойно доданої зведеної таблиці
pivotTable = pivotTables.get(index)

# Приховати загальні підсумки для рядків
pivotTable.setRowGrand(False)

# Перетягніть перше поле в область рядка
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)

# Перетягніть друге поле в область стовпця
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)

# Перетягніть третє поле в область даних
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)

# Збережіть файл Excel
workbook.save("CreatePivotTable.xlsx")

Дані Excel

Джерело даних для зведеної таблиці Excel

Зведена таблиця

створити зведену таблицю в excel на java

Форматуйте клітинки у зведених таблицях Excel у Python

Нижче наведено кроки для форматування клітинок у зведених таблицях Excel у Python.

  • Створіть новий або завантажте наявний файл Excel за допомогою класу Workbook.
  • Заповніть аркуш (необов’язково).
  • Отримати посилання на робочий аркуш, де розташована зведена таблиця.
  • Отримати посилання на зведену таблицю за індексом за допомогою методу Worksheet.getPivotTables().get(index).
  • Створіть новий стиль за допомогою методу Workbook.createStyle() і отримайте його посилання.
  • Встановіть бажані властивості об’єкта Style.
  • Призначте об’єкт Style до зведеної таблиці.
  • Збережіть книгу за допомогою методу Workbook.save(string).

У наведеному нижче прикладі коду показано, як відформатувати зведену таблицю Excel у Python.

import jpype
import asposecells

jpype.startJVM()
from asposecells.api import Workbook, BackgroundType, Color

# Створіть об’єкт робочої книги з вихідного файлу Excel, що містить зведену таблицю
workbook = Workbook("pivotTable_test.xlsx")

# Доступ до аркуша за його назвою
worksheet = workbook.getWorksheets().get("PivotTable")

# Доступ до зведеної таблиці за індексом
pivotTable = worksheet.getPivotTables().get(0)

# Створіть об’єкт стилю зі світло-блакитним кольором фону
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getLightBlue())

# Відформатуйте всю зведену таблицю світло-блакитним кольором
pivotTable.formatAll(style)

# Створіть інший об'єкт стилю з жовтим кольором
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getYellow())

# Відформатуйте комірки першого рядка зведеної таблиці жовтим кольором
columns = [0, 1, 2, 3, 4]
for x in columns:
  pivotTable.format(1, x, style)

# Збережіть об’єкт книги
workbook.save("output.xlsx")

Бібліотека Python для створення зведених таблиць Excel – отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати Aspose.Cells for Python без оціночних обмежень.

Висновок

У цій статті ви дізналися, як створити зведену таблицю на аркушах Excel у Python. Крім того, ви бачили, як програмно форматувати клітинки у зведених таблицях у Excel. Крім того, ви можете дізнатися більше про бібліотеку Python Excel за допомогою документації. Якщо у вас виникнуть запитання, не соромтеся повідомити нас через наш форум.

Дивись також