An important part of a Spreadsheet is adding data. Spread for Windows Forms has many ways to add data. You can load files, bind to data sources, or use methods and properties to add data to cells.
The following table lists the different ways you can load files:
Method | File Type | Description |
Open | Spread XML files | Spread can open data or data and formatting from a Spread-compatible XML file or a stream. |
OpenExcel | Excel-formatted files | You can open an existing Excel-formatted file (BIFF8 format or xlsx) in Spread. |
OpenSpreadFile | Spread COM ss7 or ss8 files | You can open an existing file from the COM version of Spread (Spread COM 7.0 or later). |
LoadTextFile | Text or comma-delimited files | You can open existing text files that are delimited, either files saved from Spread or delimited text files from other sources. |
You can use the DataSource property to bind Spread. You can bind the Spread component to a data set, such as data in a database, or to anything that the .NET framework allows, such as an IList object.
You can bind to a cell range with the MapperInfo class, the SpreadDataBindingAdapter class, and the FillSpreadDataByDataSource method.
This example binds the control to a data set.
C#
DataSet ds = new DataSet();
DataTable emp = new DataTable("Product");
DataTable div = new DataTable("Total Cost");
emp.Columns.Add("Name");
emp.Columns.Add("Category");
emp.Rows.Add(new Object[] { "Apple", "Fruit" });
emp.Rows.Add(new Object[] { "Orange", "Fruit" });
emp.Rows.Add(new Object[] { "Plum", "Fruit" });
emp.Rows.Add(new Object[] { "Kiwi", "Fruit" });
emp.Rows.Add(new Object[] { "Strawberry", "Fruit" });
emp.Rows.Add(new Object[] { "Broccoli", "Vegetable" });
emp.Rows.Add(new Object[] { "Celery", "Vegetable" });
emp.Rows.Add(new Object[] { "Artichoke", "Vegetable" });
emp.Rows.Add(new Object[] { "Okra", "Vegetable" });
div.Columns.Add("Price");
div.Columns.Add("Quantity");
div.Rows.Add(new Object[] { "1.99 per pound", "100" });
div.Rows.Add(new Object[] { "2.00 per pound", "50" });
div.Rows.Add(new Object[] { "1.75 per pound", "150" });
div.Rows.Add(new Object[] { "2.50 per pound", "80" });
div.Rows.Add(new Object[] { "1.75 per pound", "150" });
div.Rows.Add(new Object[] { "2.50 per pound", "100" });
div.Rows.Add(new Object[] { "1.00 per pound", "250" });
div.Rows.Add(new Object[] { "4.75 per pound", "50" });
div.Rows.Add(new Object[] { "1.00 per pound", "150" });
ds.Tables.AddRange(new DataTable[] { emp, div });
fpSpread1.DataSource = ds;
fpSpread1.DataMember = "Product";
VB
Dim ds As New DataSet()
Dim emp As New DataTable("Product")
Dim div As New DataTable("Total Cost")
emp.Columns.Add("Name")
emp.Columns.Add("Category")
emp.Rows.Add(New Object() {"Apple", "Fruit"})
emp.Rows.Add(New Object() {"Orange", "Fruit"})
emp.Rows.Add(New Object() {"Plum", "Fruit"})
emp.Rows.Add(New Object() {"Kiwi", "Fruit"})
emp.Rows.Add(New Object() {"Strawberry", "Fruit"})
emp.Rows.Add(New Object() {"Broccoli", "Vegetable"})
emp.Rows.Add(New Object() {"Celery", "Vegetable"})
emp.Rows.Add(New Object() {"Artichoke", "Vegetable"})
emp.Rows.Add(New Object() {"Okra", "Vegetable"})
div.Columns.Add("Price")
div.Columns.Add("Quantity")
div.Rows.Add(New Object() {"1.99 per pound", "100"})
div.Rows.Add(New Object() {"2.00 per pound", "50"})
div.Rows.Add(New Object() {"1.75 per pound", "150"})
div.Rows.Add(New Object() {"2.50 per pound", "80"})
div.Rows.Add(New Object() {"1.75 per pound", "150"})
div.Rows.Add(New Object() {"2.50 per pound", "100"})
div.Rows.Add(New Object() {"1.00 per pound", "250"})
div.Rows.Add(New Object() {"4.75 per pound", "50"})
div.Rows.Add(New Object() {"1.00 per pound", "150"})
ds.Tables.AddRange(New DataTable() {emp, div})
FpSpread1.DataSource = ds
FpSpread1.DataMember = "Product"
You can place data in cells as formatted or unformatted strings or as data objects. The following table summarizes the ways you can add data using methods at the sheet level:
Data | Description | Method |
As a string with formatting (for example “$1,234.56″) | Individual cell | SetText GetText |
Range of cells | SetClip GetClip | |
As a string without formatting (for example “1234.45″) | Individual cell | SetValue GetValue |
Range of cells | SetClipValue GetClipValue | |
As a data object with formatting | Range of cells | SetArray GetArray |
When you work with formatted data, the data is parsed by the cell type formatted for that cell and placed in the data model. When you work with unformatted data, the data goes directly into the data model. If you add data to the sheet that is placed directly into the data model, you might want to parse the data because the component does not do so.
This example uses the SetArray method.
C#
fpSpread1.ActiveSheet.SetArray(1, 0, new String[,] { { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" } });
VB
FpSpread1.ActiveSheet.SetArray(1, 0, New String(,) {{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}})
This example uses the SetClip method.
C#
fpSpread1.ActiveSheet.SetClip(0, 0, 3, 4, "January\tFebruary\tMarch\tApril\r\nMay\tJune\tJuly\tAugust\r\nSeptember\tOctober\tNovember\tDecember");
VB
FpSpread1.ActiveSheet.SetClip(0, 0, 3, 4, "January" + Chr(9) + "February" + Chr(9) + "March" + Chr(9) + "April" + vbCrLf + "May" + Chr(9) +
"June" + Chr(9) + "July" + Chr(9) + "August" + vbCrLf + "September" + Chr(9) + "October" + Chr(9) + "November" + Chr(9) + December")
The following table lists the ways you can get or set data in cells using properties of the cell:
Data | Cell Property |
As a string with formatting (for example “$1,234.56″) | Text |
As a string without formatting (for example “1234.45″) | Value |