Preservation of sparklines and slicers

GemBox.Spreadsheet supports most Microsoft Excel and Libre Office (or Open Office) features, but not all. You can preserve unsupported features when reading a workbook so that they are not lost when writing to a workbook of the same format.

You can read more about GemBox.Spreadsheet's preservation feature on the Preservation help page.

The following example shows how you can preserve sparklines and slicers in an Excel file from input to output.

Reading and writing Excel file with preserved sparklines and slicers
Screenshot of Excel file with preserved sparklines and slicers
Upload your file (Drag file here)
using System;
using GemBox.Spreadsheet;

class Program
{
    static void Main()
    {
        // If using Professional version, put your serial key below.
        SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");

        // Load Excel file with preservation feature enabled.
        var loadOptions = new XlsxLoadOptions() { PreserveUnsupportedFeatures = true };
        var workbook = ExcelFile.Load("%InputFileName%", loadOptions);

        // Modify all values in column C, set them to some random value.
        var readEnumerator = workbook.Worksheets[0].Columns["C"].Cells.GetReadEnumerator();
        var random = new Random();
        while (readEnumerator.MoveNext())
        {
            var cell = readEnumerator.Current;
            if (cell.ValueType == CellValueType.Int)
                cell.SetValue(random.Next(-10, 10));
        }

        workbook.Save("Preserved Output.xlsx");
    }
}
Imports System
Imports GemBox.Spreadsheet

Module Program

    Sub Main()

        ' If using Professional version, put your serial key below.
        SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY")

        ' Load Excel file with preservation feature enabled.
        Dim loadOptions As New XlsxLoadOptions() With {.PreserveUnsupportedFeatures = True}
        Dim workbook = ExcelFile.Load("%InputFileName%", loadOptions)

        ' Modify all values in column C, set them to some random value.
        Dim readEnumerator = workbook.Worksheets(0).Columns("C").Cells.GetReadEnumerator()
        Dim random As New Random()
        While readEnumerator.MoveNext()

            Dim cell = readEnumerator.Current
            If cell.ValueType = CellValueType.Int Then cell.SetValue(random.Next(-10, 10))

        End While

        workbook.Save("Preserved Output.xlsx")

    End Sub
End Module

Want more?

Next example GitHub

Check the next example or select an example from the menu. You can also download our examples from the GitHub.


Like it?

Download Buy

If you want to try the GemBox.Spreadsheet yourself, you can download the free version. It delivers the same performance and set of features as the professional version, but with some operations limited. To remove the limitation, you need to purchase a license.