Azure 上で .NET を使用して IronXL を実行できますか?
はい、IronXLはAzure上でC# & VB .NETアプリケーションでQR & バーコードを生成するために使用でき、スキャンした画像からバーコード & QRコードを読み取ることもできます。
IronXLはMVCウェブサイト、Azure Functionsなど複数のAzureプラットフォームで徹底的にテストされています。
ステップ1
1. IronXLをインストールして始める
まずNuGetでインストール: https://www.nuget.org/packages/IronXL.Excel
Install-Package IronXL.Excel
チュートリアル
2. パフォーマンスとAzureティア
AzureのB1ホスティングレベルは、弊社のユーザーのライブラリニーズに非常に適しています。 もし高スループットシステムを作成している場合、アップグレードが必要になるかもしれません。
3. フレームワークの選択
IronXL for CoreとFrameworkの両方がAzure上で動作することが分かっています。 .NET Standardアプリケーションは速度と安定性で小さな性能上の利点がありますが、プロセス内でより多くのメモリを使用します。
Azureの無料ティアホスティングは遅いです
Azureの無料および共有ティア、および消費プランはQR処理には適していません。 私たち自身が使用しているAzure B1ホスティング/プレミアムプランをお勧めします。
4. AzureでのDocker
Azureでパフォーマンスを制御する能力を得る1つの方法は、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+でテスト済みです。 こちらがサンプルコードです:
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よくある質問
どのようにして .NET アプリケーションを Azure で実行できますか?
IronXL を使用して、Azure で .NET アプリケーションを実行できます。C# & VB .NET アプリケーションで QR & バーコードを生成し、スキャンした画像からそれらを読み取ることができます。MVC ウェブサイトや Azure Functions を含む様々な Azure プラットフォームでテスト済みです。
最適なパフォーマンスのための推奨される Azure ホスティングレベルは何ですか?
IronXL と共に最適なパフォーマンスを得るために、Azure B1 ホスティングレベルを推奨します。高スループットシステムを設計する場合は、より高いティアへのアップグレードを検討してください。
Azure で最も適した .NET フレームワークはどれですか?
IronXL は Azure 上で .NET Core および .NET Framework の両方で動作します。ただし、.NET Standard アプリケーションは速度と安定性においてわずかなパフォーマンス向上を提供しますが、メモリ使用が増加します。
Azure の無料ティアは QR 処理に十分ですか?
Azure の無料および共有ティア、消費プランは、IronXL での QR 処理には推奨されません。代わりに、Azure B1 ホスティングまたはプレミアムプランでの使用をお勧めします。
Docker を使用して Azure で IronXL アプリケーションを管理できますか?
はい、Docker を使用して Azure で IronXL アプリケーションと Functions を管理できます。このセットアップによりパフォーマンス制御が向上します。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 を使用する例はありますか?
はい、HTTP リクエストを処理し、Excel ファイルを返すサンプル Azure Function コードが提供されています。この例は Azure Functions v3.3.1.0+ でテストされています。






