.NET MAUIでExcelファイルを作成、読み取り、および編集

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

イントロダクション

このハウツーガイドでは、IronXL を使用して Windows 向け .NET MAUI アプリで Excel ファイルを作成および読み取る方法を説明します。 さあ、始めましょう。

IronXL: C# Excelライブラリ

IronXLはExcelファイルの読み取り、書き込み、および操作を行うためのC# .NETライブラリです。 ユーザーはExcelドキュメントをゼロから作成することができ、Excelの内容と外観、タイトルや著者などのメタデータも含みます。 このライブラリは、余白の設定、用紙の向き、ページサイズ、画像など、ユーザーインターフェースのカスタマイズ機能にも対応しています。 Excelファイルを生成するために、外部フレームワーク、プラットフォーム統合、または他のサードパーティライブラリを必要としません。 それは自己完結型でスタンドアローンです。

IronXLをインストール

今日から無料トライアルでIronXLをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer


Visual StudioのNuGetパッケージマネージャーコンソールを使用してIronXLをインストールできます。 コンソールを開き、次のコマンドを入力してIronXLライブラリをインストールしてください。

Install-Package IronXL.Excel

使い方ガイド

IronXLを使用してC#でExcelファイルを作成する

アプリケーションのフロントエンドを設計する

XAMLページの**MainPage.xaml**を開き、以下のコードスニペットに置き換えてください。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MAUI_IronXL.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Label
                Text="Welcome to .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome Multi-platform App UI"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="createBtn"
                Text="Create Excel File"
                SemanticProperties.Hint="Click on the button to create Excel file"
                Clicked="CreateExcel"
                HorizontalOptions="Center" />

            <Button
                x:Name="readExcel"
                Text="Read and Modify Excel file"
                SemanticProperties.Hint="Click on the button to read Excel file"
                Clicked="ReadExcel"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

上記のコードは、基本的な.NET MAUIアプリケーションのレイアウトを作成します。 1つのラベルと2つのボタンを作成します。 1つのボタンはExcelファイルを作成するためのもので、もう1つのボタンはExcelファイルの読み取りおよび修正をサポートします。両方の要素はVerticalStackLayout親要素にネストされており、すべてのサポートされているデバイスで縦に揃うようになっています。

エクセルファイルを作成する

今こそIronXLを使ってExcelファイルを作成する時です。 MainPage.xaml.cs ファイルを開き、以下のメソッドをファイルに記述してください。

private void CreateExcel(object sender, EventArgs e)
    {
        //Create Workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        //Create Worksheet
        var sheet = workbook.CreateWorkSheet("2022 Budget");

        //Set Cell values
        sheet ["A1"].Value = "January";
        sheet ["B1"].Value = "February";
        sheet ["C1"].Value = "March";
        sheet ["D1"].Value = "April";
        sheet ["E1"].Value = "May";
        sheet ["F1"].Value = "June";
        sheet ["G1"].Value = "July";
        sheet ["H1"].Value = "August";

        //Set Cell input Dynamically
        Random r = new Random();
        for (int i = 2; i <= 11; i++)
        {
            sheet ["A" + i].Value = r.Next(1, 1000);
            sheet ["B" + i].Value = r.Next(1000, 2000);
            sheet ["C" + i].Value = r.Next(2000, 3000);
            sheet ["D" + i].Value = r.Next(3000, 4000);
            sheet ["E" + i].Value = r.Next(4000, 5000);
            sheet ["F" + i].Value = r.Next(5000, 6000);
            sheet ["G" + i].Value = r.Next(6000, 7000);
            sheet ["H" + i].Value = r.Next(7000, 8000);
        }

        //Apply formatting like background and border
        sheet ["A1:H1"].Style.SetBackgroundColor("#d3d3d3");
        sheet ["A1:H1"].Style.TopBorder.SetColor("#000000");
        sheet ["A1:H1"].Style.BottomBorder.SetColor("#000000");
        sheet ["H2:H11"].Style.RightBorder.SetColor("#000000");
        sheet ["H2:H11"].Style.RightBorder.Type = IronXL.Styles.BorderType.Medium;
        sheet ["A11:H11"].Style.BottomBorder.SetColor("#000000");
        sheet ["A11:H11"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Medium;

        //Apply Formulas
        decimal sum = sheet ["A2:A11"].Sum();
        decimal avg = sheet ["B2:B11"].Avg();
        decimal max = sheet ["C2:C11"].Max();
        decimal min = sheet ["D2:D11"].Min();

        sheet ["A12"].Value = "Sum";
        sheet ["B12"].Value = sum;

        sheet ["C12"].Value = "Avg";
        sheet ["D12"].Value = avg;

        sheet ["E12"].Value = "Max";
        sheet ["F12"].Value = max;

        sheet ["G12"].Value = "Min";
        sheet ["H12"].Value = min;

        //Save and Open Excel File
        SaveService saveService = new SaveService();
        saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream());
    }
private void CreateExcel(object sender, EventArgs e)
    {
        //Create Workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        //Create Worksheet
        var sheet = workbook.CreateWorkSheet("2022 Budget");

        //Set Cell values
        sheet ["A1"].Value = "January";
        sheet ["B1"].Value = "February";
        sheet ["C1"].Value = "March";
        sheet ["D1"].Value = "April";
        sheet ["E1"].Value = "May";
        sheet ["F1"].Value = "June";
        sheet ["G1"].Value = "July";
        sheet ["H1"].Value = "August";

        //Set Cell input Dynamically
        Random r = new Random();
        for (int i = 2; i <= 11; i++)
        {
            sheet ["A" + i].Value = r.Next(1, 1000);
            sheet ["B" + i].Value = r.Next(1000, 2000);
            sheet ["C" + i].Value = r.Next(2000, 3000);
            sheet ["D" + i].Value = r.Next(3000, 4000);
            sheet ["E" + i].Value = r.Next(4000, 5000);
            sheet ["F" + i].Value = r.Next(5000, 6000);
            sheet ["G" + i].Value = r.Next(6000, 7000);
            sheet ["H" + i].Value = r.Next(7000, 8000);
        }

        //Apply formatting like background and border
        sheet ["A1:H1"].Style.SetBackgroundColor("#d3d3d3");
        sheet ["A1:H1"].Style.TopBorder.SetColor("#000000");
        sheet ["A1:H1"].Style.BottomBorder.SetColor("#000000");
        sheet ["H2:H11"].Style.RightBorder.SetColor("#000000");
        sheet ["H2:H11"].Style.RightBorder.Type = IronXL.Styles.BorderType.Medium;
        sheet ["A11:H11"].Style.BottomBorder.SetColor("#000000");
        sheet ["A11:H11"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Medium;

        //Apply Formulas
        decimal sum = sheet ["A2:A11"].Sum();
        decimal avg = sheet ["B2:B11"].Avg();
        decimal max = sheet ["C2:C11"].Max();
        decimal min = sheet ["D2:D11"].Min();

        sheet ["A12"].Value = "Sum";
        sheet ["B12"].Value = sum;

        sheet ["C12"].Value = "Avg";
        sheet ["D12"].Value = avg;

        sheet ["E12"].Value = "Max";
        sheet ["F12"].Value = max;

        sheet ["G12"].Value = "Min";
        sheet ["H12"].Value = min;

        //Save and Open Excel File
        SaveService saveService = new SaveService();
        saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream());
    }
Private Sub CreateExcel(ByVal sender As Object, ByVal e As EventArgs)
		'Create Workbook
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		'Create Worksheet
		Dim sheet = workbook.CreateWorkSheet("2022 Budget")

		'Set Cell values
		sheet ("A1").Value = "January"
		sheet ("B1").Value = "February"
		sheet ("C1").Value = "March"
		sheet ("D1").Value = "April"
		sheet ("E1").Value = "May"
		sheet ("F1").Value = "June"
		sheet ("G1").Value = "July"
		sheet ("H1").Value = "August"

		'Set Cell input Dynamically
		Dim r As New Random()
		For i As Integer = 2 To 11
			sheet ("A" & i).Value = r.Next(1, 1000)
			sheet ("B" & i).Value = r.Next(1000, 2000)
			sheet ("C" & i).Value = r.Next(2000, 3000)
			sheet ("D" & i).Value = r.Next(3000, 4000)
			sheet ("E" & i).Value = r.Next(4000, 5000)
			sheet ("F" & i).Value = r.Next(5000, 6000)
			sheet ("G" & i).Value = r.Next(6000, 7000)
			sheet ("H" & i).Value = r.Next(7000, 8000)
		Next i

		'Apply formatting like background and border
		sheet ("A1:H1").Style.SetBackgroundColor("#d3d3d3")
		sheet ("A1:H1").Style.TopBorder.SetColor("#000000")
		sheet ("A1:H1").Style.BottomBorder.SetColor("#000000")
		sheet ("H2:H11").Style.RightBorder.SetColor("#000000")
		sheet ("H2:H11").Style.RightBorder.Type = IronXL.Styles.BorderType.Medium
		sheet ("A11:H11").Style.BottomBorder.SetColor("#000000")
		sheet ("A11:H11").Style.BottomBorder.Type = IronXL.Styles.BorderType.Medium

		'Apply Formulas
		Dim sum As Decimal = sheet ("A2:A11").Sum()
		Dim avg As Decimal = sheet ("B2:B11").Avg()
		Dim max As Decimal = sheet ("C2:C11").Max()
		Dim min As Decimal = sheet ("D2:D11").Min()

		sheet ("A12").Value = "Sum"
		sheet ("B12").Value = sum

		sheet ("C12").Value = "Avg"
		sheet ("D12").Value = avg

		sheet ("E12").Value = "Max"
		sheet ("F12").Value = max

		sheet ("G12").Value = "Min"
		sheet ("H12").Value = min

		'Save and Open Excel File
		Dim saveService As New SaveService()
		saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream())
End Sub
VB   C#

ソースコードはIronXLを使用して1つのワークシートを含むワークブックを作成し、その後、各セルの「Value」プロパティを使用してセルの値を設定します。

styleプロパティを使用すると、セルにスタイルや境界線を追加することができます。 上記のように、単一のセルまたはセルの範囲にスタイリングを適用することができます。

IronXLはExcelの数式にも対応しています。 カスタムExcelの数式は、一つ以上のセルに作成することができます。 さらに、任意のExcel式から得られた値を変数に保存して、後で使用することができます。

SaveService クラスは、生成されたExcelファイルを保存および表示するために使用されます。 このクラスは上記のコードで宣言されており、後のセクションで正式に定義されます。

ブラウザーでExcelファイルを表示

MainPage.xaml.cs ファイルを開き、次のコードを書いてください。

private void ReadExcel(object sender, EventArgs e)
{
    //store the path of a file
    string filepath="C:\Files\Customer Data.xlsx";
    WorkBook workbook = WorkBook.Load(filepath);
    WorkSheet sheet = workbook.WorkSheets.First();

    decimal sum = sheet ["B2:B10"].Sum();

    sheet ["B11"].Value = sum;
    sheet ["B11"].Style.SetBackgroundColor("#808080");
    sheet ["B11"].Style.Font.SetColor("#ffffff");

    //Save and Open Excel File
    SaveService saveService = new SaveService();
    saveService.SaveAndView("Modified Data.xlsx", "application/octet-stream", workbook.ToStream());

    DisplayAlert("Notification", "Excel file has been modified!", "OK");
}
private void ReadExcel(object sender, EventArgs e)
{
    //store the path of a file
    string filepath="C:\Files\Customer Data.xlsx";
    WorkBook workbook = WorkBook.Load(filepath);
    WorkSheet sheet = workbook.WorkSheets.First();

    decimal sum = sheet ["B2:B10"].Sum();

    sheet ["B11"].Value = sum;
    sheet ["B11"].Style.SetBackgroundColor("#808080");
    sheet ["B11"].Style.Font.SetColor("#ffffff");

    //Save and Open Excel File
    SaveService saveService = new SaveService();
    saveService.SaveAndView("Modified Data.xlsx", "application/octet-stream", workbook.ToStream());

    DisplayAlert("Notification", "Excel file has been modified!", "OK");
}
Private Sub ReadExcel(ByVal sender As Object, ByVal e As EventArgs)
	'store the path of a file
	Dim filepath As String="C:\Files\Customer Data.xlsx"
	Dim workbook As WorkBook = WorkBook.Load(filepath)
	Dim sheet As WorkSheet = workbook.WorkSheets.First()

	Dim sum As Decimal = sheet ("B2:B10").Sum()

	sheet ("B11").Value = sum
	sheet ("B11").Style.SetBackgroundColor("#808080")
	sheet ("B11").Style.Font.SetColor("#ffffff")

	'Save and Open Excel File
	Dim saveService As New SaveService()
	saveService.SaveAndView("Modified Data.xlsx", "application/octet-stream", workbook.ToStream())

	DisplayAlert("Notification", "Excel file has been modified!", "OK")
End Sub
VB   C#

ソースコードはExcelファイルを読み込み、セルの範囲に数式を適用し、カスタムの背景色とテキスト色でフォーマットします。 その後、Excelファイルはバイトのストリームとしてユーザーのブラウザに転送されます。 さらに、DisplayAlertメソッドは、ファイルが開かれ変更されたことを示すメッセージを表示します。

Excelファイルを保存

このセクションでは、前の2つのセクションで参照した SaveService クラスを定義し、Excelファイルをローカルストレージに保存します。

「SaveService.cs」クラスを作成し、以下のコードを書いてください:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MAUI_IronXL
{
    public partial class SaveService
    {
            public partial void SaveAndView(string fileName, string contentType, MemoryStream stream);
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MAUI_IronXL
{
    public partial class SaveService
    {
            public partial void SaveAndView(string fileName, string contentType, MemoryStream stream);
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks

Namespace MAUI_IronXL
	Partial Public Class SaveService
			Public Partial Private Sub SaveAndView(ByVal fileName As String, ByVal contentType As String, ByVal stream As MemoryStream)
			End Sub
	End Class
End Namespace
VB   C#

次に、Platforms > Windows フォルダ内に「SaveWindows.cs」という名前のクラスを作成し、以下に示すコードを追加してください。


using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace MAUI_IronXL
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string fileName, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(fileName);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".xlsx";
                savePicker.SuggestedFileName = fileName;
                //Saves the file as Excel file.
                savePicker.FileTypeChoices.Add("XLSX", new List<string>() { ".xlsx" });

                WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
                stFile = await savePicker.PickSaveFileAsync();
            }
            else
            {
                StorageFolder local = ApplicationData.Current.LocalFolder;
                stFile = await local.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
            }
            if (stFile != null)
            {
                using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    //Writes compressed data from memory to file.
                    using(Stream outstream = zipStream.AsStreamForWrite())
                    {
                     outstream.SetLength(0);
                     //Saves the stream as file.
                     byte [] buffer = outstream.ToArray();
                     outstream.Write(buffer, 0, buffer.Length);
                     outstream.Flush();
                    }
                }
                //Create message dialog box.
                MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
                UICommand yesCmd = new("Yes");
                msgDialog.Commands.Add(yesCmd);
                UICommand noCmd = new("No");
                msgDialog.Commands.Add(noCmd);

                WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}

using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace MAUI_IronXL
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string fileName, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(fileName);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".xlsx";
                savePicker.SuggestedFileName = fileName;
                //Saves the file as Excel file.
                savePicker.FileTypeChoices.Add("XLSX", new List<string>() { ".xlsx" });

                WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
                stFile = await savePicker.PickSaveFileAsync();
            }
            else
            {
                StorageFolder local = ApplicationData.Current.LocalFolder;
                stFile = await local.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
            }
            if (stFile != null)
            {
                using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    //Writes compressed data from memory to file.
                    using(Stream outstream = zipStream.AsStreamForWrite())
                    {
                     outstream.SetLength(0);
                     //Saves the stream as file.
                     byte [] buffer = outstream.ToArray();
                     outstream.Write(buffer, 0, buffer.Length);
                     outstream.Flush();
                    }
                }
                //Create message dialog box.
                MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
                UICommand yesCmd = new("Yes");
                msgDialog.Commands.Add(yesCmd);
                UICommand noCmd = new("No");
                msgDialog.Commands.Add(noCmd);

                WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}
Imports Windows.Storage
Imports Windows.Storage.Pickers
Imports Windows.Storage.Streams
Imports Windows.UI.Popups

Namespace MAUI_IronXL
	Partial Public Class SaveService
		Public Async Sub SaveAndView(ByVal fileName As String, ByVal contentType As String, ByVal stream As MemoryStream)
			Dim stFile As StorageFile
			Dim extension As String = Path.GetExtension(fileName)
			'Gets process windows handle to open the dialog in application process.
			Dim windowHandle As IntPtr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
			If Not Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons") Then
				'Creates file save picker to save a file.
				Dim savePicker As New FileSavePicker()
				savePicker.DefaultFileExtension = ".xlsx"
				savePicker.SuggestedFileName = fileName
				'Saves the file as Excel file.
				savePicker.FileTypeChoices.Add("XLSX", New List(Of String)() From {".xlsx"})

				WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle)
				stFile = Await savePicker.PickSaveFileAsync()
			Else
				Dim local As StorageFolder = ApplicationData.Current.LocalFolder
				stFile = Await local.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting)
			End If
			If stFile IsNot Nothing Then
				Using zipStream As IRandomAccessStream = Await stFile.OpenAsync(FileAccessMode.ReadWrite)
					'Writes compressed data from memory to file.
					Using outstream As Stream = zipStream.AsStreamForWrite()
					 outstream.SetLength(0)
					 'Saves the stream as file.
					 Dim buffer() As Byte = outstream.ToArray()
					 outstream.Write(buffer, 0, buffer.Length)
					 outstream.Flush()
					End Using
				End Using
				'Create message dialog box.
				Dim msgDialog As New MessageDialog("Do you want to view the document?", "File has been created successfully")
				Dim yesCmd As New UICommand("Yes")
				msgDialog.Commands.Add(yesCmd)
				Dim noCmd As New UICommand("No")
				msgDialog.Commands.Add(noCmd)

				WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle)

				'Showing a dialog box.
				Dim cmd As IUICommand = Await msgDialog.ShowAsync()
				If cmd.Label = yesCmd.Label Then
					'Launch the saved file.
					Await Windows.System.Launcher.LaunchFileAsync(stFile)
				End If
			End If
		End Sub
	End Class
End Namespace
VB   C#

出力

MAUIプロジェクトをビルドして実行します。 実行が成功すると、以下の画像に示されている内容が表示されるウィンドウが開きます。

.NET MAUIでExcelファイルを読み込み、作成、編集する、図1:出力

図1 - 出力

「Create Excel File(Excelファイルを作成)」ボタンをクリックすると、別のダイアログウィンドウが開きます。 このウィンドウは、新しいファイルを保存する場所とファイル名を選択するようユーザーに促します。(生成された)Excelファイル。指示された場所とファイル名を指定し、OKをクリックしてください。 その後、別のダイアログウィンドウが表示されます。

.NET MAUIでExcelファイルを読み込み、作成、および編集する。図2: Excelポップアップを作成する

図2 - Excelポップアップを作成

ポップアップで指示されたようにExcelファイルを開くと、以下のスクリーンショットに示されているドキュメントが表示されます。

.NET MAUIでExcelファイルを読み取り、作成、編集する、図3: 出力

図3 - Excelポップアップの読み取りおよび修正

「Read and Modify Excel File」ボタンをクリックすると、以前に生成されたExcelファイルが読み込まれ、前のセクションで定義したカスタム背景色とテキストカラーで修正されます。

.NET MAUIでExcelファイルを読み取り、作成、編集する、図4: Excel出力

図4 - エクセル出力

修正されたファイルを開くと、目次が含まれた次の出力が表示されます。

.NET MAUIでExcelファイルを読み取り、作成、編集 Figure 5: 修正後のExcel出力

図 5 - 修正されたExcel出力

結論

この説明では、IronXL ライブラリを使用して .NET MAUI アプリケーションで Excel ファイルを作成、読み取り、変更する方法を解説しました。 IronXLは非常に優れたパフォーマンスを発揮し、すべての操作を迅速かつ正確に行います。 IronXLは、Excel操作に最適なライブラリです。 マイクロソフトのInteropと比較して、Microsoft Officeスイートのマシンへのインストールが不要なため、はるかに優れています。さらに、IronXLはワークブックやワークシートの作成、セル範囲の操作、フォーマット、およびCSV、TSVなどのさまざまなドキュメント形式へのエクスポートなど、複数の操作をサポートしています。

IronXL は、Windows Form、WPF、ASP.NET Core など、すべてのプロジェクトテンプレートをサポートしています。 チュートリアルについては、こちらをご参照くださいExcelファイルの作成以下のコンテンツを日本語に翻訳してください:Excelファイルの読取りIronXLの使用方法に関する追加情報について。


クイックアクセスリンク

GitHubのこのハウツーガイドを探索してください

このプロジェクトのソースコードはGitHubで公開されています。

次のコードを使用すると、わずか数分で簡単に始めることができます。このプロジェクトはMicrosoft Visual Studio 2022プロジェクトとして保存されていますが、任意の.NET IDEと互換性があります。

.NET MAUIアプリでExcelファイルを読み取り、作成、編集する方法
Github Icon related to クイックアクセスリンク
Documentation related to クイックアクセスリンク

APIリファレンスを表示

IronXLのすべての機能、名前空間、クラス、メソッドフィールド、列挙型の詳細を詳述したAPIリファレンスを探索してください。

APIリファレンスを表示