Using a Data Provider
RadSpreadsheet follows the Provider Design Pattern to allow for easy integration into existing applications. On the Microsoft Web site, the article Introduction To the Provider Model provides a detailed introduction to understanding this pattern.
You can use one of the providers supplied in the Telerik.Web.UI assembly, or you can implement your own.
The Telerik.Web.UI assembly defines the Telerik.Web.UI.SpreadsheetDocumentProvider provider, which can be used to bind the RadSpreadsheet to the most common excel file formats. The provider uses the RadSpreadProcessing library internally.
To bind RadSpreadsheet to a provider, you can either set its Provider property at runtime, or set the ProviderName property declaratively.
Binding to a provider declaratively
The following steps show how to declaratively bind RadSpreadsheet to the Telerik.Web.UI.SpreadsheetDocumentProvider, using the ProviderName property.
- Using the Solution Explorer, double click on the Web.config file. Locate the
<configSections>
tag at the very top. RadSpreadsheet is designed to be used with providers configured in a custom section of the web.config file. The custom section requires a handler that is included in the Telerik.Web.UI assembly. Add a<section>
for this handler to the<configSections>
of your Web.config file:
<configSections>
<sectionGroup name="telerik.web.ui">
<section name="radSpreadsheet"
type="Telerik.Web.UI.RadSpreadsheetConfigurationSection,
Telerik.Web.UI, PublicKeyToken=121fae78165ba3d4"
allowDefinition="MachineToApplication" />
</sectionGroup>
</configSections>
- Now that you have declared a handler, add the
<telerik.web.ui>
section to your Web.config file (if it is not already there), and in the <telerik.web.ui> section, declare the provider:
<radSpreadsheet defaultProvider="Integrated">
<providers>
<add name="SpreadsheetDocumentProvider1"
type="Telerik.Web.UI.SpreadsheetDocumentProvider"
fileName="~/App_Data/Spreadsheet.xlsx" />
</providers>
</radSpreadsheet>
- Now that the provider will be loaded into your application, set the ProviderName property of the RadSpreadsheet to "SpreadsheetDocumentProvider1".
<telerik:RadSpreadsheet runat="server" ID="RadSpreadsheet1"
ProviderName="SpreadsheetDocumentProvider1">
</telerik:RadSpreadsheet>
- Create an Excel file called "Spreadsheet.xlsx", and copy it to the App_Data folder of your project.
You have now bound your RadSpreadsheet using the ProviderName property.
The PublicKeyToken in step 1. varies in different versions on RadControls. You can use JustDecompile, to see the PublicKeyToken for your version. Additionally, if the assembly is added to your GAC, you can see its Public Key Token there as well.
Binding to a provider at runtime
Binding the RadSpreadsheet to a provider at runtime requires only one step:
- Set the Provider property in the code behind, assigning it an instance of the Telerik.Web.UI.SpreadsheetDocumentProvider class, with the path to the excel file as a parameter.
<telerik:RadSpreadsheet runat="server" ID="RadSpreadsheet1">
</telerik:RadSpreadsheet>
protected void Page_Init(object sender, EventArgs e)
{
RadSpreadSheet1.Provider = new SpreadsheetDocumentProvider(Server.MapPath("~/App_Data/Spreadsheet.xlsx"));
}
You have now bound your RadSpreadsheet using the Provider property at runtime.