Puis-je exécuter IronXL avec .NET sur Azure ?

This article was translated from English: Does it need improvement?
Translated
View the article in English

Oui, IronXL peut être utilisé sur Azure pour générer des codes QR et des codes-barres dans les applications C# et VB .NET, et également pour lire les codes-barres et les codes QR à partir d'images numérisées.

IronXL a été testé de manière approfondie sur de multiples plateformes Azure, notamment les sites web MVC, Azure Functions et bien d'autres.


Étape 1

1. Installez IronXL pour commencer

Première installation avec NuGet :https://www.nuget.org/packages/IronXL.Excel

Install-Package IronXL.Excel

Didacticiel de prise en main

2. Performance et Niveaux Azure

Nous recommandons les niveaux d'hébergement Azure B1 , parfaitement adaptés aux besoins des bibliothèques de nos utilisateurs finaux. S'ils créent un système à haut débit, une mise à niveau pourrait s'avérer nécessaire.

3. Choix de Framework

Nous avons constaté qu'IronXL pour Core et pour Framework fonctionne tous deux sur Azure. Les applications .NET Standard semblent présenter un léger avantage en termes de performances, de vitesse et de stabilité, mais consomment davantage de mémoire.

L'hébergement gratuit Azure est lent

Les niveaux gratuits et partagés d'Azure, ainsi que le plan de consommation, ne sont pas adaptés au traitement des QR codes. Nous recommandons l'hébergement Azure B1/plan Premium, que nous utilisons nous-mêmes.

4. Docker sur Azure

L'une des solutions pour contrôler les performances sur Azure consiste à utiliser les applications et fonctions IronXL depuis des conteneurs Docker.

Nous proposons un tutoriel complet sur IronXL Azure Docker pour les instances Linux et Windows, et sa lecture est recommandée.

5. Support Officiel de Fonction Azure

IronXL prend en charge Azure Functions (Azure Functions V3). Cela n'a pas encore été testé avec la version 4, mais c'est prévu dans notre liste de tâches.

Exemple de Code de Fonction Azure Fonctionnel

Testé sur les fonctions Azure v3.3.1.0+. Voici un exemple de code :

using System.Net;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using IronXL;
using System.Net.Http.Headers;

// This is an Azure Function that processes an HTTP request and returns an Excel file
[FunctionName("excel")]
public static HttpResponseMessage Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log)
{
    // Log the processing of the request
    log.LogInformation("C# HTTP trigger function processed a request.");

    // Set the IronXL license key
    IronXL.License.LicenseKey = "Key";

    // Load an existing workbook
    var workBook = WorkBook.Load("test-wb.xlsx");

    // Create a response with the workbook content as an attachment
    var result = new HttpResponseMessage(HttpStatusCode.OK);
    result.Content = new ByteArrayContent(workBook.ToByteArray());
    result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    { 
        FileName = $"{DateTime.Now:yyyyMMddmm}.xlsx" 
    };
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

    // Return the response
    return result;
}
using System.Net;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using IronXL;
using System.Net.Http.Headers;

// This is an Azure Function that processes an HTTP request and returns an Excel file
[FunctionName("excel")]
public static HttpResponseMessage Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
    ILogger log)
{
    // Log the processing of the request
    log.LogInformation("C# HTTP trigger function processed a request.");

    // Set the IronXL license key
    IronXL.License.LicenseKey = "Key";

    // Load an existing workbook
    var workBook = WorkBook.Load("test-wb.xlsx");

    // Create a response with the workbook content as an attachment
    var result = new HttpResponseMessage(HttpStatusCode.OK);
    result.Content = new ByteArrayContent(workBook.ToByteArray());
    result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    { 
        FileName = $"{DateTime.Now:yyyyMMddmm}.xlsx" 
    };
    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

    // Return the response
    return result;
}
Imports System.Net
Imports Microsoft.Azure.WebJobs
Imports Microsoft.Azure.WebJobs.Extensions.Http
Imports Microsoft.AspNetCore.Http
Imports Microsoft.Extensions.Logging
Imports IronXL
Imports System.Net.Http.Headers

' This is an Azure Function that processes an HTTP request and returns an Excel file
<FunctionName("excel")>
Public Shared Function Run(<HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route := Nothing)> ByVal req As HttpRequest, ByVal log As ILogger) As HttpResponseMessage
	' Log the processing of the request
	log.LogInformation("C# HTTP trigger function processed a request.")

	' Set the IronXL license key
	IronXL.License.LicenseKey = "Key"

	' Load an existing workbook
	Dim workBook = WorkBook.Load("test-wb.xlsx")

	' Create a response with the workbook content as an attachment
	Dim result = New HttpResponseMessage(HttpStatusCode.OK)
	result.Content = New ByteArrayContent(workBook.ToByteArray())
	result.Content.Headers.ContentDisposition = New ContentDispositionHeaderValue("attachment") With {.FileName = $"{DateTime.Now:yyyyMMddmm}.xlsx"}
	result.Content.Headers.ContentType = New MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

	' Return the response
	Return result
End Function
$vbLabelText   $csharpLabel

Questions Fréquemment Posées

Comment puis-je exécuter des applications .NET sur Azure ?

Vous pouvez utiliser IronXL pour exécuter des applications .NET sur Azure. Il permet de générer des QR et des codes-barres dans les applications C# et VB .NET et de les lire à partir d'images numérisées. Il a été testé sur diverses plateformes Azure, y compris les sites Web MVC et les fonctions Azure.

Quels sont les niveaux d'hébergement Azure recommandés pour des performances optimales ?

Pour des performances optimales avec IronXL, nous recommandons les niveaux d'hébergement Azure B1. Si vous concevez un système à haut débit, envisagez de passer à un niveau supérieur.

Quel framework .NET fonctionne le mieux sur Azure ?

IronXL fonctionne à la fois sur .NET Core et .NET Framework sur Azure. Cependant, les applications .NET Standard offrent un léger avantage de performance en termes de vitesse et de stabilité, bien qu'elles nécessitent une mémoire accrue.

Le niveau gratuit d'Azure est-il suffisant pour le traitement des QR ?

Les niveaux gratuits et partagés d'Azure, ainsi que le plan de consommation, ne sont pas recommandés pour le traitement des QR avec IronXL. Nous vous suggérons plutôt d'utiliser l'hébergement Azure B1 ou un plan Premium pour de meilleures performances.

Peut-on utiliser Docker pour gérer les applications IronXL sur Azure ?

Oui, vous pouvez utiliser Docker pour gérer les applications et fonctions IronXL sur Azure. Cette configuration permet un meilleur contrôle des performances. Un tutoriel Azure Docker détaillé est disponible pour les instances Linux et Windows.

IronXL prend-il en charge les fonctions Azure ?

Oui, IronXL prend en charge les fonctions Azure V3. Les tests pour les fonctions Azure V4 sont en cours, avec des plans pour étendre le support à l'avenir.

Comment installer IronXL pour l'utiliser sur Azure ?

Vous pouvez installer IronXL via NuGet en utilisant la commande : nuget install IronXL.Excel.

Y a-t-il un exemple d'utilisation d'IronXL avec les fonctions Azure ?

Oui, l'article fournit un extrait de code de fonction Azure qui traite une requête HTTP et renvoie un fichier Excel. Cet exemple est testé sur Azure Functions v3.3.1.0+.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,738,553 | Version: 2025.11 vient de sortir