Back to Devexpress

ICellValueConverter Interface

officefileapi-devexpress-dot-spreadsheet-b259ac9d.md

latest3.4 KB
Original Source

ICellValueConverter Interface

A converter that converts custom objects to cell values and vice versa.

Namespace : DevExpress.Spreadsheet

Assembly : DevExpress.Spreadsheet.v25.2.Core.dll

NuGet Package : DevExpress.Spreadsheet.Core

Declaration

csharp
public interface ICellValueConverter
vb
Public Interface ICellValueConverter

The following members return ICellValueConverter objects:

Example

To convert custom objects to cell values and vise versa, you can apply your own converters.

This example demonstrates how to convert a color object (Color) to a SpreadsheetControl-compatible cell value of the text type (CellValue) that corresponds to the color name. To do this, create a custom converter class that implements the ICellValueConverter interface, and call the CellValue.FromObject method with the color object and custom converter passed as parameters.

View Example

csharp
Worksheet worksheet = workbook.Worksheets[0];
        Cell cell = worksheet.Cells["A1"];
        cell.FillColor = Color.Orange;
        cell.Value = CellValue.FromObject(cell.FillColor, new ColorToNameConverter());
        // ...
class ColorToNameConverter : ICellValueConverter {
    object ICellValueConverter.ConvertToObject(CellValue value) {
        return null;
    }
    CellValue ICellValueConverter.TryConvertFromObject(object value) {
        bool isColor = value.GetType() == typeof(Color);
        if (!isColor)
            return null;
        return ((Color)value).Name;
    }
}
vb
Dim worksheet As Worksheet = workbook.Worksheets(0)
        Dim cell As Cell = worksheet.Cells("A1")
        cell.FillColor = Color.Orange
        cell.Value = CellValue.FromObject(cell.FillColor, New ColorToNameConverter())
        ' ...
Private Class ColorToNameConverter
    Implements ICellValueConverter

    Private Function ICellValueConverter_ConvertToObject(ByVal value As CellValue) As Object Implements ICellValueConverter.ConvertToObject
        Return Nothing
    End Function
    Private Function ICellValueConverter_TryConvertFromObject(ByVal value As Object) As CellValue Implements ICellValueConverter.TryConvertFromObject
        Dim isColor As Boolean = value.GetType() Is GetType(Color)
        If Not isColor Then
            Return Nothing
        End If
        Return DirectCast(value, Color).Name
    End Function
End Class

See Also

ICellValueConverter Members

DevExpress.Spreadsheet Namespace