我可以在Azure上使用.NET執行IronXL嗎?
是的,IronXL可以在Azure上用於生成C#和VB .NET應用程式中的QR碼及條碼,還可以從掃描的圖像中讀取條碼和QR碼。
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 for Core和for Framework都可在Azure上運行。 .NET Standard應用程式似乎在速度和穩定性上有小幅優勢,但在記憶體使用上更多。
Azure免費層託管很慢
Azure免費及共享層,消耗方案,不適合QR處理。 我們建議使用Azure B1託管/高級計畫,這也是我們推薦的。
4. Docker on Azure
一種控制Azure上性能的方法是從Docker容器中使用IronXL應用程式和Functions。
我們有一個完整的IronXL Azure Docker教程,適用於Linux和Windows實例,推薦閱讀。
5. 支援正式的Azure Function
IronXL支援Azure Function (Azure Functions V3)。 目前尚未測試V4,但已在我們的計畫中。
運行Azure Function程式碼範例
在Azure Functions v3.3.1.0+上測試。 這裡是一個範例程式碼:
:path=/static-assets/excel/content-code-examples/get-started/azure-2.cs
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)> req As HttpRequest,
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
常見問題
我如何在Azure上運行.NET應用程式?
您可以使用IronXL在Azure上運行.NET應用程式。它允許在C#和VB .NET應用程式中生成QR和條碼,並從掃描的圖像中讀取。已在各種Azure平台上測試,包括MVC網站和Azure Functions。
建議的Azure主機層級以獲得最佳效能是什麼?
為了獲得IronXL的最佳效能,我們建議使用Azure B1主機層級。如果您正在設計高吞吐量系統,請考慮升級到更高的層級。
哪個.NET框架在Azure上效果最好?
IronXL在Azure上適用於.NET Core和.NET Framework。然而,.NET Standard應用程式在速度和穩定性上提供輕微的效能優勢,但需要增加記憶體使用。
Azure 的免費層是否足夠支援QR處理?
Azure的免費和共享層以及消耗計畫不建議用於IronXL的QR處理。我們建議使用Azure B1主機或高級計畫以獲得更好的效能。
可以使用Docker來管理Azure上的IronXL應用程式嗎?
可以,您可以使用Docker來管理Azure上的IronXL應用程式和函式。該設置允許更好地控制效能。有關Linux和Windows實例的詳細Azure Docker教程可用。
IronXL 支援 Azure Functions 嗎?
是的,IronXL 支援 Azure Functions V3。目前正在測試Azure Functions V4,未來計畫將擴展支持。
如何安裝IronXL以在Azure上使用?
您可以使用以下命令通過NuGet安裝IronXL:nuget install IronXL.Excel。
有使用IronXL與Azure Functions的範例嗎?
有的,本文提供了一個Azure Function的範例程式碼,用於處理HTTP請求並返回Excel文件。該範例已在Azure Functions v3.3.1.0以上版本中測試。

