我可以在 Azure 上使用 .NET 執行 IronXL 嗎?

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

是的,IronXL 可以在 Azure 上使用,在 C# 和 VB .NET 應用程式中產生二維碼和條碼,也可以從掃描的影像中讀取條碼和二維碼。

IronXL 已在多個 Azure 平台上進行了全面測試,包括 MVC 網站、Azure Functions 等。


步驟 1

1. 安裝 IronXL 開始使用

首先使用 NuGet 安裝:https://www.nuget.org/packages/IronXL.Excel

Install-Package IronXL.Excel

操作指南

2. 效能和 Azure 層

我們認為 Azure B1託管等級非常適合我們最終使用者的圖書館需求。 如果他們要建立一個高吞吐量系統,那麼可能需要升級該系統。

3. 框架選擇

我們發現 IronXL 的核心版和框架版在 Azure 上都能正常運作。 .NET Standard 應用程式在速度和穩定性方面似乎略有效能優勢,但進程內會佔用更多記憶體。

Azure 免費方案託管速度慢

Azure 免費層和共用層以及消費計畫不適合 QR 處理。 我們推薦 Azure B1 主機/進階套餐,這也是我們自己使用的套餐。

4. Azure 上的 Docker

控制 Azure 效能的一種方法是使用 Docker 容器內的 IronXL 應用程式和函數。

我們有針對 Linux 和 Windows 實例的IronXL Azure Docker 全面教程,建議您閱讀。

5. 官方 Azure 函數支持

IronXL 支援 Azure Functions(Azure Functions V3)。 目前還沒有用 V4 進行過測試,但它已經在我們的計劃之中。

Azure 函數程式碼範例

已在 Azure Functions v3.3.1.0+ 上測試。 以下是一個範例程式碼:

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;
}
$vbLabelText   $csharpLabel

常見問題解答

如何在 Azure 上執行 .NET 應用程式?

您可以使用 IronXL 在 Azure 上執行 .NET 應用程式。它支援在 C# 和 VB .NET 應用程式中產生二維碼和條碼,並從掃描的圖像中讀取它們。 IronXL 已在包括 MVC 網站和 Azure Functions 在內的各種 Azure 平台上進行了測試。

為了獲得最佳效能,建議使用哪些 Azure 託管等級?

為了獲得 IronXL 的最佳效能,我們建議使用 Azure B1 託管等級。如果您正在設計高吞吐量系統,請考慮升級到更高等級。

哪個 .NET 框架最適合 Azure?

IronXL 在 Azure 上同時支援 .NET Core 和 .NET Framework。不過,.NET Standard 應用程式在速度和穩定性方面略勝一籌,但記憶體佔用也會更高。

Azure 的免費方案是否足以滿足二維碼處理需求?

不建議使用 Azure 的免費層級和共用層級以及按需付費方案來處理 IronXL 的二維碼。我們建議使用 Azure B1 託管或進階計劃以獲得更好效能。

Docker 能否用於管理 Azure 上的 IronXL 應用程式?

是的,您可以使用 Docker 管理 Azure 上的 IronXL 應用程式和函數。這種配置可以更好地控制性能。我們提供了適用於 Linux 和 Windows 執行個體的詳細 Azure Docker 教學。

IronXL 是否支援 Azure Functions?

是的,IronXL 支援 Azure Functions V3。目前正在進行 Azure Functions V4 的測試,並計劃在未來擴展支援範圍。

如何在 Azure 上安裝 IronXL?

您可以使用以下指令透過 NuGet 安裝 IronXL: nuget install IronXL.Excel

是否有將 IronXL 與 Azure Functions 結合使用的範例?

是的,本文提供了一個 Azure 函數範例程式碼,用於處理 HTTP 請求並傳回 Excel 檔案。此範例已在 Azure Functions v3.3.1.0 及更高版本上測試通過。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 1,802,965 | 版本: 2025.12 剛剛發布