1. Products
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Python

Aspose.Cells FOSS for Python

Create, modify, and export Excel spreadsheets from Python — free and open-source, zero Microsoft Office dependency.

Open-Source Python Library for Excel Spreadsheets

Aspose.Cells FOSS for Python is a free, open-source library for working with spreadsheet files in Python applications. Install it with a single pip install aspose-cells-foss command and start creating workbooks, reading cells, applying styles, building charts, and exporting to XLSX, CSV, TSV, Markdown, or JSON, all without requiring Microsoft Excel or any Office dependency.

The library exposes a clean, Pythonic API built around Workbook, Worksheet, Cells, and Cell, the familiar objects every spreadsheet developer knows. Read and write cells using bracket notation (ws.cells["A1"].value = "Hello"), style them with Font and Fill objects, and build column or line charts using dedicated add_bar() and add_line() methods on ws.charts.

Because the library has no dependency on native Office libraries, it runs identically on Windows, Linux, and macOS CI runners, Docker containers, and serverless environments. The markitdown-aspose-cells-plugin package extends Microsoft’s MarkItDown library with XLSX support, enabling full workbook-to-Markdown export with a single call.

Read and Write Excel Files

  • XLSX: Open and save workbooks with full round-trip fidelity.
  • Cell access: Read and write values with ws.cells["A1"] bracket notation.
  • Formulas: Write formula strings that are recalculated on save.
  • Multiple export formats: Export to CSV, TSV, Markdown, and JSON.
  • Round-trip safe: Unknown XML parts are preserved verbatim on re-save.

Where Aspose.Cells FOSS Can Be Used

  • Data pipelines: Export database query results directly to XLSX or CSV.
  • Report generation: Build styled, branded Excel reports without Office.
  • Documentation: Convert spreadsheets to Markdown via the MarkItDown plugin.
  • ETL workflows: Read input sheets, transform data, and write output workbooks.
  • CI/CD automation: Generate test-result spreadsheets inside Docker containers.

Styling, Charts, and Security

  • Font and fill: Apply bold, italic, font size, foreground and background colors.
  • Number formats: Set date, currency, and custom number formats per cell.
  • Charts: Build bar, line, pie, scatter, area, and combo charts.
  • AES encryption: Protect workbooks with a password parameter in one line.
  • MarkItDown plugin: markitdown-aspose-cells-plugin adds XLSX export to MarkItDown.

Developer Experience

Aspose.Cells FOSS is installable with a single pip install aspose-cells-foss command. There are no native Office libraries or system packages to install. The library runs on any Python 3.7+ environment without compilation steps.

The API is intentionally small: Workbook, Worksheet, Cells, Cell, Font, Fill, and Chart cover the vast majority of real-world use cases. The codebase is MIT-licensed, hosted on GitHub, and accepts bug reports and pull requests.

Create a Workbook and Write Cells

Install with pip, then create a Workbook, access the first Worksheet, and write values directly to cells using bracket notation. The example also shows how to bold the header row by modifying the cell style before saving.

pip install aspose-cells-foss
from aspose.cells_foss import Workbook

wb = Workbook()
ws = wb.worksheets[0]

# Write values
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Revenue"
ws.cells["A2"].value = "Widget"
ws.cells["B2"].value = 42000

# Bold the header row
for col in ["A1", "B1"]:
    style = ws.cells[col].get_style()
    style.font.bold = True
    ws.cells[col].apply_style(style)

wb.save("report.xlsx")

Build a Chart and Export to Multiple Formats

Open the workbook saved above, add a bar chart over a range of rows, then call save() three times with different file extensions (XLSX, Markdown, and CSV) without changing any other code.

from aspose.cells_foss import Workbook

wb = Workbook("report.xlsx")
ws = wb.worksheets[0]

# Add a bar chart over rows 2-10
chart = ws.charts.add_bar(12, 0, 25, 6)
chart.n_series.add("B2:B10", True)
chart.title = "Revenue by Product"

wb.save("report_with_chart.xlsx")

# Export the same workbook to Markdown
wb.save("report.md")

# Or export to CSV
wb.save("report.csv")

Frequently Asked Questions

What is Aspose.Cells FOSS for Python?

It is a free, MIT-licensed Python library for creating, reading, modifying, and exporting Excel spreadsheets without requiring Microsoft Office.

Which file formats are supported?

XLSX for read/write. Export-only formats include CSV, TSV, Markdown (via MarkItDown plugin), and JSON.

Does it require Microsoft Excel or Office?

No. Aspose.Cells FOSS is a pure-Python library with no dependency on Microsoft Office, COM automation, or any proprietary runtime.

How do I install it?

Run pip install aspose-cells-foss. No additional system packages or native extensions are required.

Can I build charts?

Yes. The library supports bar, line, pie, scatter, area, and combo chart types via dedicated chart-builder methods on ws.charts.

Is encryption supported?

Yes. Pass a password parameter when saving to protect the workbook with AES encryption.

What is the MarkItDown plugin?

markitdown-aspose-cells-plugin integrates Aspose.Cells FOSS into Microsoft’s MarkItDown library, enabling full XLSX-to-Markdown conversion with a single call.

Where can I find the source code?

The source code, issue tracker, and contribution guide are available on GitHub under the MIT license.

  

Support and Learning Resources