.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+
A newer version of this page is available. Switch to the current version.

TableStyleCollection Interface

A collection of table and pivot table styles contained in the workbook.

Namespace: DevExpress.Spreadsheet

Assembly: DevExpress.Spreadsheet.v19.1.Core.dll


public interface TableStyleCollection


The TableStyleCollection object is a collection of styles available in the workbook to format tables and pivot tables. Use the IWorkbook.TableStyles property to access this object.

By default, this collection includes a set of built-in styles similar to Microsoft® Excel® and the None style, which specifies clear table formatting. You are not allowed to modify or remove these styles. However, you can do the following to manage the workbook’s collection of table and pivot table styles.

For detailed examples, see the How to: Create, Modify and Delete Table Styles document.


This example demonstrates how to create a custom style to format tables.

  1. Add a new table style to the IWorkbook.TableStyles collection by calling the TableStyleCollection.Add method with the table style name passed as a parameter. This method returns the TableStyle object that represents the newly created table style. This object’s TableStyle.Name property is set to the specified name. Other settings are identical to the None table style (the default built-in table style that specifies no formatting for a table).


    Note that table styles have unique names in the collection. To ensure that there is no table style under the specified name in the collection, use the TableStyleCollection.Contains method.

  2. Modify elements of the created table style (TableStyle.TableStyleElements) within the TableStyle.BeginUpdate and TableStyle.EndUpdate paired methods.
' Access a table.
Dim table As Table = worksheet.Tables(0)

Dim styleName As String = "testTableStyle"

' If the style under the specified name already exists in the collection,
If workbook.TableStyles.Contains(styleName) Then
    ' apply this style to the table.
    table.Style = workbook.TableStyles(styleName)
    ' Add a new table style under the "testTableStyle" name to the TableStyles collection.

    Dim customTableStyle_Renamed As TableStyle = workbook.TableStyles.Add("testTableStyle")

    ' Modify the required formatting characteristics of the table style. 
    ' Specify the format for different table elements.
        customTableStyle_Renamed.TableStyleElements(TableStyleElementType.WholeTable).Font.Color = Color.FromArgb(107, 107, 107)

        ' Specify formatting characteristics for the table header row. 
        Dim headerRowStyle As TableStyleElement = customTableStyle_Renamed.TableStyleElements(TableStyleElementType.HeaderRow)
        headerRowStyle.Fill.BackgroundColor = Color.FromArgb(64, 66, 166)
        headerRowStyle.Font.Color = Color.White
        headerRowStyle.Font.Bold = True

        ' Specify formatting characteristics for the table total row. 
        Dim totalRowStyle As TableStyleElement = customTableStyle_Renamed.TableStyleElements(TableStyleElementType.TotalRow)
        totalRowStyle.Fill.BackgroundColor = Color.FromArgb(115, 193, 211)
        totalRowStyle.Font.Color = Color.White
        totalRowStyle.Font.Bold = True

        ' Specify banded row formatting for the table.
        Dim secondRowStripeStyle As TableStyleElement = customTableStyle_Renamed.TableStyleElements(TableStyleElementType.SecondRowStripe)
        secondRowStripeStyle.Fill.BackgroundColor = Color.FromArgb(234, 234, 234)
        secondRowStripeStyle.StripeSize = 1
    End Try
    ' Apply the created custom style to the table.
    table.Style = customTableStyle_Renamed
End If
See Also