我可以在 Azure 上使用 .NET 執行 IronXL 嗎?
是的,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;
}常見問題解答
如何在 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 及更高版本上測試通過。






