Tutorial: Creating Basic Charts in Excel

In this tutorial, you’ll learn how to create and add charts to Excel worksheets using Aspose.Cells Cloud API. Charts are a powerful way to visualize data, making it easier to understand trends, comparisons, and patterns that might be difficult to spot in raw numbers.

Learning Objectives

By the end of this tutorial, you’ll be able to:

  • Create different types of charts (column, bar, line, pie)
  • Specify data ranges for your charts
  • Position charts within a worksheet
  • Add titles to charts
  • Retrieve charts from worksheets

Prerequisites

Before you begin, ensure you have:

  • An Aspose Cloud account with an active subscription or trial
  • Your Client ID and Client Secret from the Aspose Cloud Dashboard
  • Basic understanding of RESTful APIs
  • An Excel file with data suitable for charting

Understanding Excel Charts

Charts in Excel provide a visual representation of data. With Aspose.Cells Cloud API, you can programmatically create and manipulate charts, giving you control over how your data is presented.

1. Creating a Basic Chart

Let’s start by creating a simple bar chart based on some sales data.

Step 1: Understand the API Endpoint

The endpoint to add a chart is:

PUT http://api.aspose.cloud/v3.0/cells/{name}/worksheets/{sheetName}/charts

Where:

  • {name} is your Excel file name
  • {sheetName} is the worksheet name

Step 2: Make the API Request

Let’s add a bar chart to a worksheet named “Sheet1” in a file called “SalesData.xlsx”, using data from range B1:F2.

Using cURL:
curl -X PUT "https://api.aspose.cloud/v3.0/cells/SalesData.xlsx/worksheets/Sheet1/charts?chartType=Bar&area=B1:F2&title=SalesState&upperLeftRow=5&upperLeftColumn=1&lowerRightRow=20&lowerRightColumn=10" \
-H "Authorization: Bearer <your_access_token>" \
-H "Accept: application/json"

Note: Replace <your_access_token> with your actual bearer token obtained from Aspose Cloud.

Using Python SDK:
# Tutorial Code Example: Create a Basic Chart
import asposecellscloud
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.models import *
from asposecellscloud.requests import *

# Configure API credentials
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
api = CellsApi(client_id, client_secret)

# Specify file and chart details
file_name = "SalesData.xlsx"
sheet_name = "Sheet1"
chart_type = "Bar"
data_range = "B1:F2"
chart_title = "Sales State by Region"

# Position the chart on the worksheet
upper_left_row = 5
upper_left_column = 1
lower_right_row = 20
lower_right_column = 10

# Create the chart
response = api.put_worksheet_add_chart(
    name=file_name,
    sheet_name=sheet_name,
    chart_type=chart_type,
    area=data_range,
    title=chart_title,
    upper_left_row=upper_left_row,
    upper_left_column=upper_left_column,
    lower_right_row=lower_right_row,
    lower_right_column=lower_right_column
)

print(f"Chart created: {response.status}")

# Expected output:
# Chart created: OK
Sample Response:
{
  "Code": 200,
  "Status": "OK"
}

2. Creating Different Types of Charts

Aspose.Cells Cloud API supports various chart types to suit different data visualization needs.

Common Chart Types:

  • Column - For comparing values across categories
  • Bar - Similar to column but horizontal, good for many categories
  • Line - For showing trends over time
  • Pie - For showing proportions of a whole
  • Area - For emphasizing magnitude of change over time
  • Scatter - For showing relationships between two variables

Using C# SDK to Create a Line Chart:

// Tutorial Code Example: Create Different Chart Types
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Model;
using System;

namespace AsposeCellsChartsExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure API credentials
            var cellsApi = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
            
            // Specify file and chart details
            string fileName = "SalesData.xlsx";
            string sheetName = "Sheet1";
            
            // Create a line chart
            var lineChartResponse = cellsApi.PutWorksheetAddChart(
                fileName,
                sheetName,
                chartType: "Line",
                area: "B1:F2",
                title: "Monthly Sales Trend",
                upperLeftRow: 5,
                upperLeftColumn: 1,
                lowerRightRow: 20,
                lowerRightColumn: 10
            );
            
            Console.WriteLine($"Line Chart Created: {lineChartResponse.Status}");
            
            // Create a pie chart on the same sheet
            var pieChartResponse = cellsApi.PutWorksheetAddChart(
                fileName,
                sheetName,
                chartType: "Pie",
                area: "B1:F1",  // Just one row of data for pie chart
                title: "Sales Distribution",
                upperLeftRow: 25,  // Position below the line chart
                upperLeftColumn: 1,
                lowerRightRow: 40,
                lowerRightColumn: 10
            );
            
            Console.WriteLine($"Pie Chart Created: {pieChartResponse.Status}");
        }
    }
}

3. Retrieving Charts from a Worksheet

After creating charts, you might want to retrieve information about them or modify them further.

Using cURL:

curl -X GET "https://api.aspose.cloud/v3.0/cells/SalesData.xlsx/worksheets/Sheet1/charts/0" \
-H "Authorization: Bearer <your_access_token>" \
-H "Accept: application/json"

The index 0 in the URL refers to the first chart in the worksheet.

Using Java SDK:

// Tutorial Code Example: Retrieve Chart Information
import com.aspose.cells.cloud.api.CellsApi;
import com.aspose.cells.cloud.model.*;
import com.aspose.cells.cloud.request.*;

public class GetChartExample {
    public static void main(String[] args) {
        // Configure API credentials
        CellsApi api = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        
        // Specify file details
        String fileName = "SalesData.xlsx";
        String sheetName = "Sheet1";
        int chartIndex = 0; // First chart
        
        try {
            // Get chart information
            GetWorksheetChartRequest request = new GetWorksheetChartRequest(
                fileName,
                sheetName,
                chartIndex,
                null, // format
                null, // folder
                null  // storageName
            );
            
            ChartResponse response = api.getWorksheetChart(request);
            Chart chart = response.getChart();
            
            // Print chart details
            System.out.println("Chart Information:");
            System.out.println("Type: " + chart.getType());
            System.out.println("Title: " + (chart.getTitle() != null ? chart.getTitle().getText() : "No title"));
            System.out.println("Has Legend: " + (chart.getLegend() != null));
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4. Adding a Title to an Existing Chart

Let’s learn how to add or modify a title for an existing chart.

Using cURL:

curl -X PUT "https://api.aspose.cloud/v3.0/cells/SalesData.xlsx/worksheets/Sheet1/charts/0/title" \
-d '{"Text":"Updated Sales Performance"}' \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json"

Try It Yourself

Now that you’ve learned the basics of creating charts, try these exercises to reinforce your knowledge:

  1. Exercise 1: Create a column chart using data from your own Excel file
  2. Exercise 2: Create a pie chart displaying percentage values
  3. Exercise 3: Create multiple charts on the same worksheet and position them neatly
  4. Exercise 4: Retrieve information about an existing chart and modify its title

Troubleshooting Common Issues

Issue 1: Chart Not Showing Any Data

If your chart appears but doesn’t display any data:

  • Verify that your area parameter (data range) is correct and contains valid data
  • Check that you’ve specified the correct chart type for your data
  • Ensure your data includes headers if you’re using them for series names

Issue 2: Chart Positioned Incorrectly

If your chart isn’t positioned where expected:

  • Remember that row and column indices are zero-based
  • Make sure the lower right coordinates are greater than the upper left
  • Check that your specified range doesn’t extend beyond the worksheet bounds

What You’ve Learned

In this tutorial, you’ve learned:

  • How to create basic charts in Excel worksheets
  • How to specify different chart types based on your data
  • How to position charts within your worksheet
  • How to add and modify chart titles
  • How to retrieve information about existing charts

Next Tutorial

Ready to enhance your charts with more features? Continue with our next tutorial: Customizing Chart Elements, where you’ll learn how to work with legends, axes, data labels, and more.

Helpful Resources