Introduktion

Aspose.Cells FOSS stöder att skapa diagram direkt i Excel .xlsx-filer från Python. Biblioteket tillhandahåller dedikerade add_*()-metoder för 16 diagramtyper (Line, Bar, Pie, Area, Scatter, Waterfall, Combo, Stock, Surface, Radar, Treemap, Sunburst, Histogram, Funnel, Box & Whisker, and Map). Av dessa har Line, Bar, Pie, Area och Stock full XML‑serialiseringsstöd och sparas korrekt till .xlsx. De återstående typerna kan skapas i minnet men kanske inte behåller all formatering vid sparande.

Diagram läggs till via worksheet.charts.add_*()-metoder som accepterar en avgränsningsruta definierad av (upper_left_row, upper_left_column, lower_right_row, lower_right_column) som nollbaserade index. Seriedata läggs till via chart.n_series.add().

Skapa ett stapeldiagram

from aspose.cells_foss import Workbook

workbook = Workbook()
worksheet = workbook.worksheets[0]

# Write data
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales  = [100, 150, 120, 180, 200, 170]
for i, (m, s) in enumerate(zip(months, sales), 2):
    worksheet.cells[f"A{i}"].value = m
    worksheet.cells[f"B{i}"].value = s

# Add a bar chart anchored to rows 0-20, columns 4-12
chart = worksheet.charts.add_bar(0, 4, 20, 12)
chart.title = "Monthly Sales"
chart.n_series.add("B2:B7", category_data="A2:A7", name="Sales")

workbook.save("bar_chart.xlsx")

Skapa ett linjediagram

from aspose.cells_foss import Workbook

workbook = Workbook()
worksheet = workbook.worksheets[0]

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales  = [100, 150, 120, 180, 200, 170]
for i, (m, s) in enumerate(zip(months, sales), 2):
    worksheet.cells[f"A{i}"].value = m
    worksheet.cells[f"B{i}"].value = s

# Line chart anchored to rows 0-20, columns 4-12
chart = worksheet.charts.add_line(0, 4, 20, 12)
chart.title = "Monthly Sales"
chart.n_series.add("B2:B7", category_data="A2:A7", name="Sales")

workbook.save("line_chart.xlsx")

Viktiga höjdpunkter

  • 16 diagramskapande metoder tillgängliga; Line, Bar, Pie, Area, and Stock har full stöd för sparande — andra typer kan skapas men kanske inte serialiserar all formatering till .xlsx
  • Diagram placeras med hjälp av en avgränsningsruta med nollbaserade rad- och kolumnindex
  • Serien data och kategorietiketter specificeras med Excel‑liknande områdessträngar ("B2:B7")
  • Ingen Microsoft Excel, COM‑automation eller inbyggt beroende krävs

Se även