Skip to main content

A powerful library for manipulating and converting Excel (XLS, XLSX, XLSB), CSV, ODS, PDF, JSON, JPG, PNG, BMP, EMF, SVG and HTML files.

Project description

Product Page | Docs | API Reference | Demos | Blog | Code Samples | Free Support | Temporary License | EULA

Try our free online apps demonstrating some of the most popular Aspose.Cells functionality.

Overview

Aspose.Cells for Python via .NET is a powerful spreadsheet management library that allows developers to create, format, and manipulate Excel files programmatically without the need for Microsoft Excel. It supports features like:

  • Creating Pivot Tables

  • Advanced conditional formatting

  • Conversion to PDF, HTML, JSON

  • Charts, Smart Markers, OLE objects

  • Filtering data

Aspose.Cells API Features

  • Spreadsheet generation & manipulation via API

  • High-quality file format conversion & rendering

  • Print Microsoft Excel® files to physical or virtual printers

  • Combine, modify, protect, or parse Excel® sheets

  • Apply worksheet formatting and page setup

  • Create & customize Excel® charts, Pivot Tables, conditional formatting, slicers, tables & spark-lines

  • Convert Excel® charts to images & PDF

  • Formula calculation engine supporting basic and advanced Excel functions

Supported Read & Write Formats

  • Microsoft Excel®: XLS, XLSX, XLSB, XLSM, XLT, XLTX, XLTM, SpreadsheetML

  • OpenOffice: ODS, SXC, FODS

  • Text: JSON, TXT, CSV, TSV, Tab-Delimited

  • Web: HTML, MHTML

  • iWork®: Numbers

Save Excel® Files As

  • Microsoft Word®: DOCX

  • Microsoft PowerPoint®: PPTX

  • Microsoft Excel®: XLAM

  • Fixed Layout: PDF, XPS

  • Text: JSON, TXT, CSV, TSV, Tab-Delimited, XML

  • Image: TIFF, PNG, BMP, JPEG, GIF, SVG

  • Metafile: EMF

  • Markdown: MD

Examples

Create Excel file from scratch

# import the python package
import aspose.cells
from aspose.cells import License, Workbook, FileFormatType

# Instantiating a Workbook object
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the "A1" cell
cell = worksheet.cells.get("A1")
# Write "Hello World" to  "A1" in the first sheet
cell.put_value("Hello World!")
# Saving this workbook to XLSX
workbook.save("HelloWorld.xlsx")

Convert Excel XLSX file to PDF

# import the python package
import aspose.cells
from aspose.cells import Workbook

# Instantiating a Workbook object
workbook = Workbook("HelloWorld.xlsx")
# Saving this workbook to PDF
workbook.save("HelloWorld.pdf")

Create a chart

from aspose.cells import Workbook
from aspose.cells.charts import ChartType

# Instantiating a Workbook object
workbook = Workbook()
# Adding a new worksheet to the Excel object
sheetIndex = workbook.worksheets.add()
# Obtaining the reference of the newly added worksheet by passing its sheet index
worksheet = workbook.worksheets[sheetIndex]
# Adding sample values to cells
worksheet.cells.get("A1").put_value(50)
worksheet.cells.get("A2").put_value(100)
worksheet.cells.get("A3").put_value(170)
worksheet.cells.get("A4").put_value(300)
worksheet.cells.get("B1").put_value(160)
worksheet.cells.get("B2").put_value(32)
worksheet.cells.get("B3").put_value(50)
worksheet.cells.get("B4").put_value(40)
# Adding sample values to cells as category data
worksheet.cells.get("C1").put_value("Q1")
worksheet.cells.get("C2").put_value("Q2")
worksheet.cells.get("C3").put_value("Y1")
worksheet.cells.get("C4").put_value("Y2")
# Adding a chart to the worksheet
chartIndex = worksheet.charts.add(ChartType.COLUMN, 5, 0, 15, 5)
# Accessing the instance of the newly added chart
chart = worksheet.charts[chartIndex]
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B4"
chart.n_series.add("A1:B4", True)
# Setting the data source for the category data of SeriesCollection
chart.n_series.category_data = "C1:C4"
# Saving the Excel file
workbook.save("Chart.xlsx")

Convert Excel workbook to JSON

from aspose.cells import Workbook

# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the newly added worksheet
sheet = workbook.worksheets[0]
cells = sheet.cells
# Setting the value to the cells
cells.get("A1").put_value("First name")
cells.get("A2").put_value("Simon")
cells.get("A3").put_value("Kevin")
cells.get("A4").put_value("Leo")
cells.get("A5").put_value("Johnson")

cells.get("B1").put_value("Age")
cells.get("B2").put_value(32)
cells.get("B3").put_value(33)
cells.get("B4").put_value(34)
cells.get("B5").put_value(35)

cells.get("C1").put_value("Value")
cells.get("C2").put_value(123.546)
cells.get("C3").put_value(56.78)
cells.get("C4").put_value(34)
cells.get("C5").put_value(9)
# Saving the Excel file to json
workbook.save("Out.json")

Convert Excel to Pandas DataFrame

import pandas as pd
from aspose.cells import Workbook

# Create a new Aspose.Cells Workbook
workbook = Workbook()
# Get the first worksheet
worksheet = workbook.worksheets[0]
# Get the cells
cells = worksheet.cells
# Add header and data values to specific cells
cells.get("A1").value = "Name"
cells.get("B1").value = "Age"
cells.get("C1").value = "City"
cells.get("A2").value = "Alice"
cells.get("B2").value = 25
cells.get("C2").value = "New York"
cells.get("A3").value = "Bob"
cells.get("B3").value = 30
cells.get("C3").value = "San Francisco"
cells.get("A4").value = "Charlie"
cells.get("B4").value = 35
cells.get("C4").value = "Los Angeles"

rowCount = cells.max_data_row
columnCount = cells.max_data_column

# Read the header row (row 0) and store column names
columnDatas = []
for c in range(columnCount + 1):
    columnDatas.append(cells.get_cell(0, c).value)

# Create an empty pandas DataFrame with column names from Excel
result = pd.DataFrame(columns=columnDatas, dtype=object)

# Read each data row (from row 1 onward) and add to the DataFrame
for i in range(1, rowCount + 1):
    rowarray = [cells.get_cell(i, j).value for j in range(columnCount + 1)]
    result.loc[i - 1] = rowarray

print(result)

Product Page | Docs | API Reference | Demos | Blog | Free Support | Temporary License | EULA

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

aspose_cells_python-25.6.0-py3-none-win_amd64.whl (63.2 MB view details)

Uploaded Python 3Windows x86-64

aspose_cells_python-25.6.0-py3-none-win32.whl (53.6 MB view details)

Uploaded Python 3Windows x86

aspose_cells_python-25.6.0-py3-none-macosx_11_0_arm64.whl (70.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

aspose_cells_python-25.6.0-py3-none-macosx_10_14_x86_64.whl (88.7 MB view details)

Uploaded Python 3macOS 10.14+ x86-64

File details

Details for the file aspose_cells_python-25.6.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for aspose_cells_python-25.6.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bdaa988f69192b2f5812a38bbab56de1a95fccaa825725a16e91d0348558662d
MD5 4c27223271c380556bd515ab673c8972
BLAKE2b-256 fd8de5d42f43e385631e5929a12cdff4def6ae71a57b28a08b7506f066c3b7f8

See more details on using hashes here.

File details

Details for the file aspose_cells_python-25.6.0-py3-none-win32.whl.

File metadata

File hashes

Hashes for aspose_cells_python-25.6.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 e7fa64c6f43ad56d5e5ab4ffbd431f1913dc9286a7b1bcd5d8bee806af6f4739
MD5 dc8e0f1281137d00bbda948862161985
BLAKE2b-256 01332870605f0905bbcd83c8ff2901defc248e40849eae9d17235b5566dd2fcb

See more details on using hashes here.

File details

Details for the file aspose_cells_python-25.6.0-py3-none-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aspose_cells_python-25.6.0-py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 649417afddc1c56cce2b64c01587a779ab99bd9c0e7166eac0534ef28b418891
MD5 00d2b73ed0052476fa2345f2dc67c21d
BLAKE2b-256 fedd34c237de691887ad588c8b4b0104dd2a528354d00651ad5e966342a1f27b

See more details on using hashes here.

File details

Details for the file aspose_cells_python-25.6.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aspose_cells_python-25.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5d83829d3cae50003ba80e3d334f6cf5f18d292b9b0e0e68841d2493dc8854d
MD5 ed3a2acd5e09f84556c502be3741cc9a
BLAKE2b-256 797e974bc9fca4d16c2865a06a0ad41ef869d24959960f52cf60f51776e498cd

See more details on using hashes here.

File details

Details for the file aspose_cells_python-25.6.0-py3-none-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aspose_cells_python-25.6.0-py3-none-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 87f8fe2db3a774875ad5791c6947c402229c85324a1d52f5e9f8500090910f90
MD5 bfe9aa0e50ddeb38adcda6c16b9eaa6c
BLAKE2b-256 a6c1f285fc8c461af186dcd7f4be4f04e64062fdf0228b1a078a648d8c1ec56d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page