Создание файлов Excel в Python

Python) стал одним из доминирующих языков программирования за последние несколько лет. Полезность и популярность Python значительно расширили сообщество энтузиастов Python. С другой стороны, автоматизация электронных таблиц упростила хранение, организацию и обработку больших объемов данных из веб-приложений или настольных приложений. Целью этой статьи является объединение Python и автоматизации электронных таблиц, чтобы показать вам, как создавать файлы Excel XSLX или XLS с помощью Python. Кроме того, вы узнаете, как программно вставлять данные, изображения, диаграммы и таблицы в рабочий лист Excel с помощью Python.

Python API для создания файлов Excel XLSX/XLS — скачать бесплатно

Aspose.Cells for Python через Java — это мощный, но простой в использовании API для работы с электронными таблицами, который позволяет реализовать автоматизацию электронных таблиц в ваших приложениях с помощью Python. Вы можете создавать новые файлы Excel, а также обновлять и преобразовывать существующие электронные таблицы с помощью нескольких строк кода. Чтобы интегрировать и использовать Aspose.Cells для Python через Java, выполните следующую команду pip.

pip install aspose-cells

Вы также можете загрузить пакет API из раздела загрузки.

Создание файлов Excel XLSX/XLS с помощью Python

Начнем с создания простого файла Excel XLSX с использованием Aspose.Cells для Python через Java. Ниже приведены шаги для этого:

В следующем примере кода показано, как создать файл Excel XLSX с помощью Python.

# 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

Код Python для вставки данных в файл Excel

В предыдущем примере вы создали новый файл Excel XLSX с нуля. Однако может быть случай, когда вам нужно обновить содержимое существующего файла Excel. В этом случае вы можете загрузить файл Excel, указав его путь к конструктору Workbook. Остальные способы доступа к рабочим листам и ячейкам останутся прежними.

В следующем примере кода показано, как обновить файл Excel с помощью Python.

# 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")

Выход

обновить файл excel в python

Создайте файл Excel с изображениями, используя Python

В обоих предыдущих примерах вы видели, как вставлять или обновлять текст в ячейках листов Excel. Давайте теперь посмотрим, как вставить изображение на лист с помощью Python.

  • Создайте новую книгу Excel или загрузите существующую с помощью класса Workbook.
  • Получите доступ к рабочему листу, в который вы хотите вставить изображение, используя класс Worksheet.
  • Вставьте изображение, используя метод Worksheet.getPictures().add(upperLeftRow, upperLeftColumn, fileName).
  • Сохраните книгу как файл .xlsx, используя метод Workbook.save(fileName).

В следующем примере кода показано, как создать файл Excel и вставить изображение с помощью Python.

# 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")

Выход

вставить изображение в excel с помощью python

Создание диаграмм на листе Excel с использованием Python

Диаграммы в листах Excel используются для визуального представления данных в виде гистограмм, пирамид, столбцов, пончиков и т. д. Aspose.Cells для Python через Java поддерживает множество типов диаграмм, перечисленных здесь. Ниже приведены шаги для создания диаграммы на листе Excel.

  • Создайте новую книгу Excel или загрузите существующую, используя класс Workbook.
  • Получите доступ к нужному рабочему листу и добавьте значения в ячейки (необязательно, если рабочий лист уже содержит данные).
  • Получить коллекцию графиков с помощью метода Worksheet.getCharts().
  • Добавьте новую диаграмму в коллекцию диаграмм с помощью метода [Worksheet.getCharts().
  • Определите диапазон ячеек, чтобы установить NSeries для диаграммы.
  • Создайте файл Excel .xlsx, используя метод Workbook.save(fileName).

В следующем примере кода показано, как создавать диаграммы на листе Excel с помощью Python.

# 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")

Выход

создать диаграмму в excel с помощью python

Создание сводных таблиц на листе Excel с использованием Python

Сводные таблицы в Excel создаются для обобщения большого объема данных на листах. Вы можете указать диапазон ячеек, которые будут использоваться в сводной таблице. Ниже приведены шаги по созданию сводной таблицы с использованием Aspose.Cells для Python через Java.

  • Загрузите файл Excel или создайте новый, используя класс Workbook.
  • Вставьте данные в рабочий лист (необязательно).
  • Доступ к сводным таблицам с помощью метода Worksheet.getPivotTables().
  • Добавьте новую сводную таблицу, используя метод Worksheet.getPivotTables().add(sourceData, destCellName, tableName).
  • Настройте строку, столбец и области данных сводной таблицы.
  • Сохраните книгу как .xlsx, используя метод Workbook.save(fileName).

В следующем примере кода показано, как создать сводную таблицу в Excel с помощью Python.

# 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")
создать сводную таблицу в excel с помощью python

Получите бесплатную лицензию API

Вы можете использовать Aspose.Cells для Python Java без ограничений на пробную версию, получив бесплатную временную лицензию.

Вывод

В этой статье вы увидели, как создавать файлы Excel с нуля с помощью Python. Кроме того, вы узнали, как программно вставлять данные, изображения, диаграммы и сводные таблицы в рабочие листы Excel. Вы можете узнать больше об API Aspose для Python Excel, используя документацию.

Смотрите также

Информация: Aspose предоставляет другие API-интерфейсы Python (например, Aspose.Slides for Python через .NET для работы с PowerPoint и презентациями в других форматах) и бесплатные онлайн-инструменты для просмотра, редактирования, объединения и преобразования документов (для например, конвертер PPT в JPG).