Crear un gráfico en una hoja de cálculo de Excel usando C#

Categoría del blog: ImagingOffice.NET

08.05.2024

Microsoft Office Excel es una aplicación de hoja de cálculo que permite editar y visualizar datos de hojas de cálculo mediante gráficos. Excel admite los siguientes tipos de gráficos: Columna, Línea, Circular, Barra, Área, XY (Dispersión).Mapa, Stock, Superficie, Radar, Mapa de árbol, Rayo solar, Histograma, Caja y bigotes, Cascada, Embudo, Combinado.

VintaSoft Imaging .NET SDK + VintaSoft Office .NET Plug-in proporciona una potente API .NET para trabajar con hojas de cálculo almacenadas en archivos XLSX.
VintaSoft Imaging .NET SDK permite crear gráficos de Excel de los siguientes tipos:

Para crear un gráfico en una hoja de cálculo de Excel con VintaSoft Imaging .NET SDK, debe completar los siguientes pasos:

Aquí hay código C# que demuestra cómo añadir un gráfico "estándar" a la hoja de cálculo de Excel:
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);
    }
}