We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to convert Excel to Image with Azure V3 function

Platform: WinForms |
Control: XlsIO

Syncfusion Excel (XlsIO) library is a .NET Excel library used to create, read, and edit Excel documents. Using this library, you can convert Excel documents into Images using Azure functions.

Steps to convert an Excel document to Image using Azure function:

1. Create a new Azure function project.

Create a new Azure function project

Create a new Azure function project

2. Name the project

Name the project

Name the project

3. Select Azure Functions v3 (.NET Core) and Http trigger.

Select Azure Functions v3 (.NET Core) and Http trigger

Select Azure Functions v3 (.NET Core) and Http trigger

4. Install the Syncfusion.XlsIORenderer.Net.Core NuGet package from NuGet.org.

Install the Syncfusion.XlsIORenderer.Net.Core NuGet package from NuGet.org

Install the Syncfusion.XlsIORenderer.Net.Core NuGet package from NuGet.org

5. Add the following namespaces in Function1.cs file.

C#

using Syncfusion.XlsIO;
using Syncfusion.XlsIORenderer;
using System.Net.Http;
using System.Net;
using System.Net.Http.Headers;
using Microsoft.Azure.WebJobs.Host;

 

6. Add the following code snippet in Run method of Function1.cs file.

C#

Stream stream = req.Content.ReadAsStreamAsync().Result;
//Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    IApplication application = excelEngine.Excel;
    application.DefaultVersion = ExcelVersion.Excel2013;
    IWorkbook workbook = application.Workbooks.Open(File.OpenRead("../../Template.xlsx"), ExcelOpenType.Automatic);
    IWorksheet sheet = workbook.Worksheets[0];
 
    //Initialize XlsIORenderer 
    application.XlsIORenderer = new XlsIORenderer();
 
    //The stream to save the converted image 
    MemoryStream memoryStream = new MemoryStream();
 
    //Convert the worksheet’s used range to an image 
    sheet.ConvertToImage(sheet.UsedRange.Row, sheet.UsedRange.Column, sheet.UsedRange.LastRow, sheet.UsedRange.LastColumn, memoryStream);
 
    //Create the response to return
    HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
 
    //Set the PDF document content response
    response.Content = new ByteArrayContent(memoryStream.ToArray());
 
    //Set the contentDisposition as attachment
    response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    {
        FileName = "Output.png"
    };
    //Set the content type as PDF format mime type
    response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/png");
 
    //Return the response with output PDF stream
    return response;
}

 

7. Right-click on the project and select Publish.

Publish in Azure

Publish in Azure

8. Select Azure Function App.

Azure Function App

Azure Function App

9. Create App service using Azure Subscription.

Create App service using Azure Subscription

Create App service using Azure Subscription

10. After creating the profile, click on Publish.

After creating the profile, click on Publish

After creating the profile, click on Publish

11. Now, go to Azure portal and select the App Services. After running the service, click Get function URL by copying it. Then, paste it to the below client sample (Which will request the Azure Function, to convert Excel to Image with Azure functions). You will get the Image document as shown below.

Excel To Image

Excel To Image

A complete Azure Function sample can be downloaded from AzureFunction.Zip.

Steps to post the request to Azure function with template Excel document:

1. Create a simple console application to request the Azure function API.

2. Add the following code snippet into Main method to request the Azure function with template Excel document and get the converted Image document.

C#

//Open the required template Excel file
Stream fileStream = File.Open(@"../../Data/Template.xlsx", FileMode.Open);
 
//Create memory stream to save the template
MemoryStream inputStream = new MemoryStream();
 
//Copy the file stream into memory stream
fileStream.CopyTo(inputStream);
 
//Dispose the file stream
fileStream.Dispose();
try
{
    //Create HttpWebRequest with hosted azure function URL
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://azurefunction20210504163552.azurewebsites.net");
 
    //Set request method as POST
    req.Method = "POST";
 
    //Get the request stream to strore the Excel document stream
    Stream stream = req.GetRequestStream();
 
    //Write the Excel document stream into request stream
    stream.Write(inputStream.ToArray(), 0, inputStream.ToArray().Length);
 
    //Gets the responce from the Azure Function request
    HttpWebResponse res = (HttpWebResponse)req.GetResponse();
 
    //Create file stream to save the output PDF file
    FileStream outStream = File.Create("Sample.png");
 
    //Copy the responce stream into file stream
    res.GetResponseStream().CopyTo(outStream);
 
    //Dispose the input stream
    inputStream.Dispose();
 
    //Dispose the file stream
    outStream.Dispose();
}
catch (Exception ex)
{
    throw;
}
 
//Launch the output document
System.Diagnostics.Process.Start("Sample.png");

 

The Console Application can be downloaded from ConsoleApp.Zip.

Know more about Syncfusion Excel (XlsIO) library through the documentation, where you can find features like charts , drawing objects , chart to image conversion and excel to pdf conversion etc. with respective code examples.

Refer here to explore the rich set of Syncfusion Excel (XlsIO) library features.

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer the link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile