.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+
Row

CellValue.FromObject(Object, ICellValueConverter) Method

Converts the specified object to a cell value using the custom converter.

Namespace: DevExpress.Spreadsheet

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

Declaration

public static CellValue FromObject(
    object value,
    ICellValueConverter converter
)

Parameters

Name Type Description
value Object

An object to be converted to a CellValue.

converter ICellValueConverter

A custom converter object that implements the ICellValueConverter interface.

Returns

Type Description
CellValue

A CellValue object. If the conversion cannot be performed, an InvalidCastException is thrown.

Remarks

To convert a cell value to object, use the CellValue.ToObject method. For more information on cell values and their types, refer to Cell Data Types.

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.

        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;
    }
}
See Also