# Generate Excel from Data Sources in Storage

## Content

This section demonstrates how to call the Web API service through a client application and generate excel file from dataset or .NET collection present in storage (remote storage or storage at the same server).
[Step 1: Call the Service](/componentone/docs/webapi/online-webapi/Services/ExcelServices/GenerateExcelService/GETGenerateExcelfromDataSource#step-1-call-the-service)
[Step 2: Run the Client Project](/componentone/docs/webapi/online-webapi/Services/ExcelServices/GenerateExcelService/GETGenerateExcelfromDataSource#step-2-run-the-client-project)
The following example makes a call to the Web API [service](/componentone/docs/webapi/online-webapi/overview/WorkingwithC1WebAPI/ConfiguringWebAPI) through HTML as well as WinForms client applications. These clients send a GET request to the service, which returns a response stream. This response stream is then saved in the desired excel file format.
In the following example, the service URL takes name and location of dataset/ collection (present in [storage](/componentone/docs/webapi/online-webapi/overview/WorkingwithC1WebAPI/ConfiguringWebAPI/Configuring.NETCollections)) in **DataName** parameter and the desired file format, xls, in **Type** parameter. The specified dataset, named Products, resides in Nwind folder of the hosted service.
![](https://cdn.mescius.io/document-site-files/images/66c72527-2495-47b0-9257-2ee31dae74e5/images/getdataset.png)

### Step 1: Call the Service

Complete the following steps to call the Web API service.
**csharp**

```csharp
public void GetExcel() {
  var apiURL = string.IsNullOrEmpty(C1TextBox1.Text) ? "https://developer.mescius.com/componentone/demos/aspnet/c1WebAPI/latest/api/excel?
  FileName = excel & type = xls & dataname = Nwind % 2 FProducts " : C1TextBox1.Text;
  WebRequest request = WebRequest.Create(apiURL);
  WebResponse response = request.GetResponse();
  var fileStream = File.Create("D:\\ExcelfromStorage.xls"); 
  //The file format specified here should be same as that specified in the
  request url
  response.GetResponseStream().CopyTo(fileStream);
}
```

**HTML**
1\. Create an HTML application\, as discussed in [Configure Client for REST API service](/componentone/docs/webapi/online-webapi/overview/WorkingwithC1WebAPI/configuring-the-client-application/ClientAppRESTApiServices).

2. Add the following markups in the \<form> tags, within \<body> tags, of your HTML page.

    ```html
    <form action="https://developer.mescius.com/componentone/demos/aspnet/c1WebAPI/latest/api/excel" method="GET">
            <label for="fileName">File Name:</label>
            <input type="text" id="fileName" name="fileName" value="ExcelfromStorage" />
            <br />
            <label for="fileFormat">File Format:</label>
            <input type="text" id="fileFormat" name="type" value="xls" />
            <br />
            <label for="DataName">Data Name:</label>
            <input type="text" id="DataName" name="DataName" value="Nwind/Products" />
            <input type="submit" value="Generate Excel"/>
    </form> 
    ```

    Note that, for GET request we set **method** attribute of \<form> tag to GET, and set its **action** attribute to service request URL. Also, we create input controls on the HTML page, which take various parameters to generate the excel from dataset, present in the storage, to the desired excel format.

### Step 2: Run the Client Project

**WinForms Application**

* Click **Build \| Build Solution** to build the project.
* Press **F5** to run the project.
* Provide the service URL, along with the query string containing appropriate parameters, in the textbox corresponding to Request URL field.
* Click the **Generate Excel** button. The generated excel data stream will get downloaded at the location specified within the GetExcel() method.

**HTML Application**

* Save your HTML file and open it in a browser.
* Set the appropriate parameters for the desired excel file format, and click **Generate Excel** button.

>type=note
> Explore detailed demo samples of REST API service to generate excel from data sources available in storage at:
>
> * [Generate Excel Live Demo](https://demos.componentone.com/ASPNET/WebApiExplorer/)