Preservation of Excel macros using C# and VB.NET

GemBox.Spreadsheet supports many 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 to preserve macros in an Excel file from input to output, when editing spreadsheets in C# and VB.NET.

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

class Program
{
    static void Main()
    {
        // If using the 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);

        // Save Excel file to output file of same format together with
        // preserved information (unsupported features) from input file.
        workbook.Save("Preserved Output.xlsm");
    }
}
Imports GemBox.Spreadsheet

Module Program

    Sub Main()

        ' If using the 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)

        ' Save Excel file to output file of same format together with
        ' preserved information (unsupported features) from input file.
        workbook.Save("Preserved Output.xlsm")

    End Sub
End Module

See also


Next steps

GemBox.Spreadsheet is a .NET component that enables you to read, write, edit, convert, and print spreadsheet files from your .NET applications using one simple API.

Download Buy