Metadata-Version: 2.1
Name: aspose-cells-python
Version: 25.6.0
Summary: A powerful library for manipulating and converting Excel (XLS, XLSX, XLSB), CSV, ODS, PDF, JSON, JPG, PNG, BMP, EMF, SVG and HTML files.
Home-page: https://products.aspose.com/cells/
Author: aspose-cells
License: https://company.aspose.com/legal/eula
Keywords: Excel,XLS,XLSX,XLSB,CSV,PDF,JPG,PNG,HTML,ODS,Numbers,XLSM,OOXML,Spreadsheet,Markdown,XPS,DOCX,PPTX,MHTML,TXT,JSON,SVG,EMF,TIFF
Platform: macos_arm64
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Manufacturing
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: License :: Free To Use But Restricted
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.6,<3.14
Description-Content-Type: text/x-rst

Aspose.Cells for Python via .NET
==================================


`Product Page <https://products.aspose.com/cells/python-net>`_ | `Docs <https://docs.aspose.com/cells/python-net/>`_ | `API Reference <https://reference.aspose.com/cells/python-net/>`_ | `Demos <https://products.aspose.app/cells/family/>`_ | `Blog <https://blog.aspose.com/category/cells/>`_ | `Code Samples <https://github.com/aspose-cells/Aspose.Cells-for-Python-via-.NET>`_ | `Free Support <https://forum.aspose.com/c/cells>`_ | `Temporary License <https://purchase.aspose.com/temporary-license>`_ | `EULA <https://company.aspose.com/legal/eula>`_

Try our `free online apps <https://products.aspose.app/cells/family>`_ 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**

.. code-block:: python

    # 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**

.. code-block:: python

    # 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**

.. code-block:: python

    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**

.. code-block:: python

    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**

.. code-block:: python

    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 <https://products.aspose.com/cells/python-net>`_ | `Docs <https://docs.aspose.com/cells/python-net/>`_ | `API Reference <https://reference.aspose.com/cells/python-net/>`_ | `Demos <https://products.aspose.app/cells/family/>`_ | `Blog <https://blog.aspose.com/category/cells/>`_ | `Free Support <https://forum.aspose.com/c/cells>`_ | `Temporary License <https://purchase.aspose.com/temporary-license>`_ | `EULA <https://company.aspose.com/legal/eula>`_
