Aspose.Cells for Python via Java
raw JSON → 26.4.0 verified Fri May 01 auth: no python
Aspose.Cells for Python via Java is a high-performance library for Excel file manipulation and conversion. Current version 26.4.0 supports Python 3.8–3.13. It allows creating, editing, and converting spreadsheets (XLS, XLSX, XLSB, ODS, CSV, HTML) without Microsoft Office. Release cadence: monthly updates.
pip install aspose-cells Common errors
error ModuleNotFoundError: No module named 'asposecells' ↓
cause aspose-cells is not installed, or installed as a different package name.
fix
Run: pip install aspose-cells
error jpype._jexception.Exception: java.lang.ClassNotFoundException: com.aspose.cells.License ↓
cause Java bridge cannot find Aspose.Cells Java JAR file. Usually happens if the JAR was not extracted properly or Java version incompatible.
fix
Reinstall aspose-cells: pip install --upgrade --force-reinstall aspose-cells. Ensure Java 8+ is installed.
error AttributeError: module 'asposecells' has no attribute 'Workbook' ↓
cause Trying to import Workbook from the wrong location (asposecells instead of asposecells.api).
fix
Use: from asposecells.api import Workbook
error java.lang.UnsatisfiedLinkError: no jvm in java.library.path: /usr/lib/jvm/java-11-openjdk-amd64/lib/server ↓
cause JPype cannot find the JVM shared library. JAVA_HOME not set or incorrect.
fix
Set JAVA_HOME to JRE installation root (e.g., export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64).
Warnings
breaking Aspose.Cells for Python via Java requires Java Runtime (JRE) installed. The library uses a Java bridge via JPype. Without JRE, import fails. ↓
fix Install Java 8 or later (e.g., OpenJDK) and ensure JAVA_HOME is set.
gotcha The library is not recommended for headless Linux servers without a display? Actually, it works headless, but some chart rendering requires a display. Use Xvfb or set Java AWT headless property. ↓
fix Set environment variable: JAVA_OPTS='-Djava.awt.headless=true' or in code: import os; os.environ['JAVA_OPTS'] = '-Djava.awt.headless=true' before importing asposecells.
deprecated The method `Workbook.save(String, SaveFormat)` with file format argument is deprecated in favor of `Workbook.save(String, SaveOptions)`. The old overload still works but may raise warnings. ↓
fix Use SaveOptions subclasses (e.g., XlsxSaveOptions()) or use SaveFormat directly but prepare for removal.
gotcha Importing from asposecells directly (e.g., `import asposecells`) does not expose classes. Must import from asposecells.api. ↓
fix Use `from asposecells.api import Workbook` instead of `import asposecells`.
Imports
- License wrong
from asposecells import Licensecorrectfrom asposecells.api import License - Workbook wrong
from asposecells import Workbookcorrectfrom asposecells.api import Workbook - SaveFormat wrong
import asposecells.SaveFormatcorrectfrom asposecells.api import SaveFormat - FileFormatType wrong
from asposecells import FileFormatTypecorrectfrom asposecells.api import FileFormatType
Quickstart
import os
from asposecells.api import Workbook, License, SaveFormat, FileFormatType
# Set license (optional; if not set, watermark appears)
# license = License()
# license.set_license(os.environ.get('ASPOSE_LICENSE_PATH', ''))
# Create a new workbook
wb = Workbook()
# Get the first worksheet
ws = wb.getWorksheets().get(0)
# Add text
ws.getCells().get("A1").putValue("Hello, Aspose.Cells!")
# Save as XLSX
wb.save("output.xlsx", SaveFormat.XLSX)
print("Excel file created successfully.")