IRONSOFTWAREHOME

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

Curtis Chau
Curtis Chau
Updated: 2026年4月22日

はじめに

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

IronXL: C# Excelライブラリ

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

IronXLをインストール


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

PM > Install-Package IronXL.Excel

C#を使用したIronXLによる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の親要素にネストされているため、サポートされているすべてのデバイスで縦に配置されて表示されます。

Excelファイルを作成する

IronXLを使用してExcelファイルを作成する時が来ました。 MainPage.xaml.csファイルを開いて、次のメソッドをファイルに書き込みます。

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

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

    // Set cell headers
    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";

    // Fill worksheet cells with random values
    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 (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 the Excel file
    SaveService saveService = new SaveService();
    saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream());
}

このソースコードは、IronXLを使用してワークブックとワークシートを作成し、セル値を設定し、セルをフォーマットします。 また、IronXLを使用したExcelの数式の使い方も示しています。

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

MainPage.xaml.csファイルを開いて、次のコードを書き込みます。

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

    // Calculate the sum of a range
    decimal sum = sheet["B2:B10"].Sum();

    // Modify a cell value and apply styles
    sheet["B11"].Value = sum;
    sheet["B11"].Style.SetBackgroundColor("#808080");
    sheet["B11"].Style.Font.SetColor("#ffffff");

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

    DisplayAlert("Notification", "Excel file has been modified!", "OK");
}

ソースコードはExcelファイルを読み込み、セル範囲に数式を適用し、カスタムの背景色とテキスト色でフォーマットします。 その後、変更されたExcelファイルを保存し、通知が表示されます。

Excelファイルを保存する

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

"SaveService.cs"クラスを作成し、次のコードを書いてください:

using System;
using System.IO;

namespace MAUI_IronXL
{
    public partial class SaveService
    {
        public partial void SaveAndView(string fileName, string contentType, MemoryStream stream);
    }
}

次に、"Platforms > Windows"フォルダー内に"SaveWindows.cs"と名付けたクラスを作成し、以下のコードを追加してください:

using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices.WindowsRuntime;
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);
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;

            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".xlsx";
                savePicker.SuggestedFileName = fileName;
                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))
                {
                    using (Stream outputStream = zipStream.AsStreamForWrite())
                    {
                        outputStream.SetLength(0);
                        stream.WriteTo(outputStream);
                        await outputStream.FlushAsync();
                    }
                }

                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);

                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}

出力

MAUIプロジェクトをビルドして実行してください。 正常に実行されると、下の画像に示されるコンテンツを表示するウィンドウが開きます。

.NET MAUI での Excel ファイルの読み取り、作成、編集、図 1: 出力

図1 -出力

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

.NET MAUI での Excel ファイルの読み取り、作成、編集、図 2: Excel 作成ポップアップ

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

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

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

図3 - Excelの読み取りと変更ポップアップ

"Excelファイルを読み取りおよび編集"ボタンをクリックすると、先に生成されたExcelファイルが読み込まれ、以前のセクションで定義したカスタムの背景色とテキスト色で修正されます。

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

図4 - Excel出力

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

.NET MAUI での Excel ファイルの読み取り、作成、編集、図 5: 変更後の Excel 出力

図5 -変更されたExcel出力

結論

これによって、IronXLライブラリを使用して.NET MAUIアプリケーションでExcelファイルを作成、読み取り、および修正する方法を説明しました。 IronXLは非常に優れた性能を発揮し、高速かつ正確にすべての操作を実行します。 これはMicrosoft Interopを必要とせず、マシンにMicrosoft Officeスイートをインストールすることなく、Excel操作に優れたライブラリです。加えて、IronXLはワークブックとワークシートの作成、セル範囲の操作、フォーマット、およびCSV、TSVなどのさまざまなドキュメント形式へのエクスポートなど、複数の操作をサポートします。

IronXLは、Windowsフォーム、WPF、ASP.NET Coreなどのすべてのプロジェクトテンプレートをサポートしています。 IronXLの使用方法については、Excelファイルの作成Excelファイルの読み取りに関するチュートリアルを参照してください。


クイックアクセスリンク

GitHub のハウツーガイドをご覧ください

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

このコードを使えば、わずか数分で簡単に起動して実行できます。プロジェクトはMicrosoft Visual Studio 2022プロジェクトとして保存されますが、ど for .NET IDEでも互換性があります。

.NET MAUI アプリで Excel ファイルを読み取り、作成、編集する方法

APIリファレンスを見る

IronXL の API リファレンスを調べて、IronXL のすべての機能、名前空間、クラス、メソッド、フィールド、列挙型の詳細を概説します。

APIリファレンスを見る

よくある質問

どうすれば.NET MAUIアプリケーションでExcelファイルを作成できますか?

.NET MAUIプロジェクトでExcelファイルを作成するには、IronXLライブラリを使用して新しいワークブックとワークシートを初期化します。その後、セルの値を設定し、Excelの数式を適用し、カスタムSaveServiceクラスを使用してファイルを保存する前にフォーマットをカスタマイズできます。

既存のExcelファイルを.NET MAUIアプリケーションで読み取ることはできますか?

はい、IronXLを使用して.NET MAUIアプリケーションで既存のExcelファイルを読み込んで読み取ることができます。このライブラリを使用すると、セルの値にアクセスして変更し、数式を適用し、カスタムフォーマットを実装できます。

IronXLを.NET MAUIでExcelファイル操作に使用する利点は何ですか?

IronXLは、.NET MAUIでExcelファイル操作のための自己完結型のソリューションを提供し、Microsoft OfficeやInteropを必要としません。効率的にExcelファイルを作成、読み取り、編集でき、CSVやTSVなどのさまざまな形式にエクスポートすることができます。

.NET MAUIプロジェクトにIronXLをインストールするにはどうすればよいですか?

Visual StudioのNuGetパッケージマネージャーコンソールを使用して.NET MAUIプロジェクトにIronXLをインストールできます。コマンドInstall-Package IronXL.Excelを実行して、ライブラリをプロジェクトに追加します。

.NET MAUIでプログラム的にExcelのセルをフォーマットすることは可能ですか?

はい、IronXLを使用すると、.NET MAUIでプログラム的にExcelのセルをフォーマットできます。これには、セルのスタイルや色を設定し、さまざまなフォーマットオプションを適用してExcelファイルの見た目を向上させることが含まれます。

.NET MAUIアプリでExcelファイルのためのSaveServiceクラスを実装するにはどうすればいいですか?

.NET MAUIでSaveServiceクラスを実装するには、IronXLの機能を利用してExcelファイルをローカルストレージに保存するクラスを作成できます。これには、ファイルパスを指定し、ファイルI/O操作を管理するメソッドを定義することが含まれます。

IronXLは.NETアプリケーションでどのプロジェクトテンプレートをサポートしていますか?

IronXLは、Windows Forms、WPF、ASP.NET Coreなど、さまざまな.NETプロジェクトテンプレートをサポートし、異なるアプリケーションタイプで作業する開発者に柔軟性を提供しています。

.NET MAUI Excelプロジェクトのソースコードはどこで見つけられますか?

IronXLを使用した.NET MAUI ExcelプロジェクトのソースコードはGitHubで入手可能です。これにより、開発者はVisual Studio 2022を使用して迅速にセットアップし、アプリケーションでのExcelファイル操作を試すことができます。

Is IronXL compatible with different .NET project templates?

Yes, IronXL is compatible with various .NET project templates including Windows Forms, WPF, and ASP.NET Core, among others.

Where can I find additional resources and tutorials for using IronXL?

You can find additional tutorials and resources for using IronXL on the official [Iron Software website](https://ironsoftware.com) and their GitHub repository, which includes sample projects and API references.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 2,237,574バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 参照選択し、"IronXL"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronXLを~/Libsなどの場所にダウンロードし、ソリューションディレクトリに解凍します
  2. Visual Studioのソリューションエクスプローラ内で参照を右クリックし、を選択「IronXL.dll」参照選択

ライセンス$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。