Skip to main content

Use the Excel Export API to Specify Document Properties for a Workbook

  • 3 minutes to read

The Excel Export Library allows you to set and edit the document properties (metadata) associated and stored with a workbook. You can either specify built-in properties or create your own custom properties.

This example demonstrates how to specify the standard and custom document properties for a workbook using the IXlDocument.Properties and XlDocumentProperties.Custom properties, respectively.

Use the IXlDocument.Properties property to access the XlDocumentProperties object. This object provides a set of properties that allow you to specify basic information about a workbook, such as XlDocumentProperties.Title, XlDocumentProperties.Author, XlDocumentProperties.Subject, etc.

The XlDocumentProperties.Custom property allows you to get access to the XlDocumentCustomProperties object, which represents a storage of custom document properties. To set a value of a custom property with the specified name, use the XlDocumentCustomProperties.Item property. You can set a custom property to any object of the String, Double, DateTime or Boolean type. The specified object will be converted to the XlCustomPropertyValue object and assigned to the custom property. To get the type of the data contained in a custom document property, use the XlCustomPropertyValue.Type property.

View Example

// Create a new document.
using (IXlDocument document = exporter.CreateDocument(stream)) {
    document.Options.Culture = CultureInfo.CurrentCulture;

    // Set the built-in document properties.
    document.Properties.Title = "XL Export API: document properties example";
    document.Properties.Subject = "XL Export API";
    document.Properties.Keywords = "XL Export, document generation";
    document.Properties.Description = "How to set document properties using the XL Export API";
    document.Properties.Category = "Spreadsheet";
    document.Properties.Company = "DevExpress Inc.";

    // Set the custom document properties.
    document.Properties.Custom["Product Suite"] = "XL Export Library";
    document.Properties.Custom["Revision"] = 5;
    document.Properties.Custom["Date Completed"] = DateTime.Now;
    document.Properties.Custom["Published"] = true;

    // Generate data for the document.
    using(IXlSheet sheet = document.CreateSheet()) {
        sheet.SkipRows(1);
        using(IXlRow row = sheet.CreateRow()) {
            row.SkipCells(1);
            using(IXlCell cell = row.CreateCell()) {
                cell.Value = "You can view document properties using the File->Info->Properties->Advanced Properties dialog.";
            }
        }
    }
}

To remove all custom document properties from a workbook, use the XlDocumentCustomProperties.Clear method.