Can I Run IronXL with .NET on Azure?

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

Ja, IronXL kann auf Azure verwendet werden, um QR- und Barcodes in C#- und VB-.NET-Anwendungen zu generieren und um Barcodes und QR-Codes aus gescannten Bildern zu lesen.

IronXL wurde auf mehreren Azure-Plattformen, einschließlich MVC-Websites, Azure Functions und vielen anderen, gründlich getestet.


class="main-content__segment-title">Schritt 1

1. Installieren Sie IronXL, um zu beginnen

Zuerst mit NuGet installieren: https://www.nuget.org/packages/IronXL.Excel

Install-Package IronXL.Excel

class="main-content__segment-title">Tutorial

2. Leistung und Azure-Tarife

Wir empfehlen, dass Azure B1 Hosting-Niveaus sehr gut für die Bibliotheksbedürfnisse unserer Endbenutzer geeignet sind. Wenn sie ein System mit hohem Durchsatz erstellen, muss dieses möglicherweise aktualisiert werden.

3. Auswahl des Frameworks

Wir haben festgestellt, dass IronXL für Core und für Framework auf Azure funktionieren. .NET-Standardanwendungen scheinen einen kleinen Leistungsvorteil in Bezug auf Geschwindigkeit und Stabilität zu haben, verbrauchen dabei jedoch mehr Speicher im Prozess.

Azure-Freitierstufen-Hosting ist langsam

Die kostenlosen und freigegebenen Stufen von Azure sowie der Verbrauchsplan sind nicht geeignet für die QR-Verarbeitung. Wir empfehlen das Azure B1 Hosting/Premium-Plan, welches wir selbst verwenden.

4. Docker auf Azure

Eine Möglichkeit, um die Kontrolle über die Leistung auf Azure zu erlangen, besteht darin, IronXL-Anwendungen und -Funktionen innerhalb von Docker-Containern zu verwenden.

Wir haben ein umfassendes IronXL Azure Docker-Tutorial für Linux- und Windows-Instanzen und es wird empfohlen, es zu lesen.

5. Offizielle Azure Function Unterstützung

IronXL unterstützt Azure Function (Azure Functions V3). Es wurde bisher nicht mit V4 getestet, aber es steht auf unserer To-Do-Liste.

Beispielcode einer Azure Function

Getestet auf Azure Functions v3.3.1.0+. Hier ist ein Beispielcode:

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

Häufig gestellte Fragen

Wie kann ich .NET-Anwendungen auf Azure ausführen?

Sie können IronXL verwenden, um .NET-Anwendungen auf Azure auszuführen. Es ermöglicht das Generieren von QR- & Barcodes in C# & VB .NET-Anwendungen und das Lesen von gescannten Bildern. Es wurde auf verschiedenen Azure-Plattformen getestet, einschließlich MVC-Websites und Azure Functions.

Welche Azure-Hostingstufen werden für optimale Leistung empfohlen?

Für optimale Leistung mit IronXL empfehlen wir Azure B1-Hosting-Ebenen. Wenn Sie ein System mit hohem Durchsatz entwerfen, sollten Sie ein Upgrade auf eine höhere Stufe in Betracht ziehen.

Welches .NET-Framework funktioniert am besten auf Azure?

IronXL funktioniert sowohl mit .NET Core als auch mit .NET Framework auf Azure. Allerdings bieten .NET Standard-Anwendungen eine leichte Leistungssteigerung in Geschwindigkeit und Stabilität, verbrauchen jedoch mehr Speicher.

Reicht die kostenlose Stufe von Azure für QR-Verarbeitung aus?

Die kostenlose und geteilte Stufe von Azure sowie der Verbrauchsplan werden für QR-Verarbeitung mit IronXL nicht empfohlen. Stattdessen empfehlen wir die Nutzung von Azure B1-Hosting oder einem Premium-Plan für bessere Leistung.

Kann Docker verwendet werden, um IronXL-Anwendungen auf Azure zu verwalten?

Ja, Sie können Docker verwenden, um IronXL-Anwendungen und -Funktionen auf Azure zu verwalten. Diese Einrichtung ermöglicht eine bessere Leistungskontrolle. Ein detailliertes Azure Docker-Tutorial ist sowohl für Linux- als auch für Windows-Instanzen verfügbar.

Unterstützt IronXL Azure Functions?

Ja, IronXL unterstützt Azure Functions V3. Tests für Azure Functions V4 laufen, mit Plänen zur Erweiterung der Unterstützung in der Zukunft.

Wie installiere ich IronXL für die Verwendung auf Azure?

Sie können IronXL über NuGet mit dem Befehl nuget install IronXL.Excel installieren.

Gibt es ein Beispiel für die Verwendung von IronXL mit Azure Functions?

Ja, der Artikel bietet ein Beispielcode für eine Azure Function, die eine HTTP-Anfrage verarbeitet und eine Excel-Datei zurückgibt. Dieses Beispiel wurde auf Azure Functions v3.3.1.0+ getestet.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,686,155 | Version: 2025.11 gerade veröffentlicht