WorksheetExtensions.Import(Worksheet, IEnumerable, Int32, Int32, Boolean, DataImportOptions) Method
Imports data from a collection.
You need a license for the DevExpress Office File API Subscription or DevExpress Universal Subscription to use this method in production code.
Namespace: DevExpress.Spreadsheet
Assembly: DevExpress.Docs.v24.2.dll
NuGet Package: DevExpress.Document.Processor
#Declaration
public static void Import(
this Worksheet sheet,
IEnumerable source,
int firstRowIndex,
int firstColumnIndex,
bool isVertical,
DataImportOptions options
)
#Parameters
Name | Type | Description |
---|---|---|
sheet | Worksheet | A Worksheet that is the worksheet to which the data is imported. |
source | IEnumerable | An object that exposes the IEnumerable interface provided by a collection of objects being imported. |
first |
Int32 | An integer that is the row index of the start cell in which the imported data will be inserted. |
first |
Int32 | An integer that is the column index of the start cell in which the imported data will be inserted. |
is |
Boolean | true, to insert imported data vertically; otherwise, false |
options | Data |
A Data |
#Example
List<TestObject> list = new List<TestObject>();
list.Add(new TestObject(1, "1", true));
list.Add(new TestObject(2, "2", false));
worksheet.Import(list, 0, 0, new DataSourceImportOptions() { Converter = new TestDataValueConverter() });
class TestDataValueConverter : DevExpress.Spreadsheet.IDataValueConverter
{
public bool TryConvert(object value, int columnIndex, out DevExpress.Spreadsheet.CellValue result)
{
string strValue = value as string;
if (strValue != null)
{
int str2int;
bool success = Int32.TryParse(strValue, out str2int);
result = success ? str2int : 0;
return true;
}
Type valueType = value.GetType();
if (valueType == typeof(int))
result = (int)value;
else
result = null;
return true;
}
}
class TestObject
{
public TestObject(int intValue, string value, bool boolValue)
{
this.intValue = intValue;
this.Value = value;
this.BoolValue = boolValue;
}
public int intValue;
private int privateValue { get { return 123; } }
public int IntValue { get { return intValue + privateValue - 123; } }
public string Value { get; set; }
public bool BoolValue { get; set; }
public int this[int index] { get { return index; } }
}