Create chart in Excel spreadsheet using C#

Blog category: ImagingOffice.NET

May 8, 2024

Microsoft Office Excel is a spreadsheet application that allows you to edit spreadsheet data and visualize spreadsheet data using charts. Excel supports the following chart types: Column, Line, Pie, Bar, Area, X Y (Scatter), Map, Stock, Surface, Radar, Treemap, Sunburst, Histogram, Box & Whisker, Waterfall, Funnel, Combo.

VintaSoft Imaging .NET SDK + VintaSoft Office .NET Plug-in provides powerful .NET API for work with spreadsheets stored in XLSX file.
VintaSoft Imaging .NET SDK allows to create Excel charts of the following types:

To create a chart in an Excel spreadsheet using VintaSoft Imaging .NET SDK you should complete the following steps:

Here is C# code demonstrating how to add a "standard" chart to Excel spreadsheet:
public static void AddStandardChartToXlsxWorksheet(string outXlsxFilename)
{
    // create a spreadsheet editor for synchronous editing of new spreadsheet document
    using (SpreadsheetEditor editor = SpreadsheetEditor.CreateEditor())
    {
        // get the first worksheet (empty)
        Worksheet sheet = editor.Document.Worksheets[0];
        
        // start the worksheet editing
        WorksheetEditor worksheetEditor = editor.StartEditing(sheet);

        // set worksheet name
        worksheetEditor.SetName("Example of add chart");
        
        // set categories and series for chart
        editor.SetCellValue(sheet, "A2", "Series 1");
        editor.SetCellValue(sheet, "A3", "Series 2");
        editor.SetCellValue(sheet, "A4", "Series 3");
        editor.SetCellValue(sheet, "B1", "Category 1");
        editor.SetCellValue(sheet, "C1", "Category 2");
        editor.SetCellValue(sheet, "D1", "Category 3");
        editor.SetCellValue(sheet, "E1", "Category 4");

        // set sample values for chart
        editor.SetCellValue(sheet, "B2", 5);
        editor.SetCellValue(sheet, "C2", 15);
        editor.SetCellValue(sheet, "D2", 45.5);
        editor.SetCellValue(sheet, "E2", 35);
        editor.SetCellValue(sheet, "B3", 110);
        editor.SetCellValue(sheet, "C3", 90);
        editor.SetCellValue(sheet, "D3", 88);
        editor.SetCellValue(sheet, "E3", 25);
        editor.SetCellValue(sheet, "B4", 15);
        editor.SetCellValue(sheet, "C4", 50);
        editor.SetCellValue(sheet, "D4", 20);
        editor.SetCellValue(sheet, "E4", 45);

        // add new Line chart to the worksheet
        SheetDrawing chart = editor.AddChart(sheet, StandardChartType.Line_LineWithMarkers_Horizontal, "A1:E4", new SheetDrawingLocation("A7:F17"));
        // set the chart title
        worksheetEditor.CreateChartPropertiesEditor(chart).SetTitle("Line Chart Example (Horizontal)");

        // finish the spreadsheet editing
        editor.FinishEditing();

        // save created spreadsheet document to a XLSX file
        editor.SaveAs(outXlsxFilename);
    }
}