Wie man Excel-Dateien in .NET MAUI mit C# liest und erstellt | IronXL

Create, Read and Edit Excel Files in .NET MAUI

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

Einführung

Dieses How-To-Guide erklärt, wie man Excel-Dateien in .NET MAUI-Apps für Windows mit IronXL erstellt und liest. Lass uns anfangen.

IronXL: C# Excel Library

IronXL ist eine C# .NET-Bibliothek zum Lesen, Schreiben und Manipulieren von Excel-Dateien. Es ermöglicht Benutzern, Excel-Dokumente von Grund auf neu zu erstellen, einschließlich des Inhalts und Aussehens von Excel sowie Metadaten wie Titel und Autor. Die Bibliothek unterstützt auch Anpassungsfunktionen für die Benutzeroberfläche, wie das Einstellen von Rändern, Ausrichtung, Seitengröße, Bildern und so weiter. Es erfordert keine externen Frameworks, Plattform-Integration oder andere Drittanbieter-Bibliotheken zur Generierung von Excel-Dateien. Es ist eigenständig und unabhängig.

class="hsg-featured-snippet">

Wie man Excel-Dateien in .NET MAUI liest

  1. Installiere die C#-Bibliothek zum Lesen von Excel-Dateien
  2. Stelle sicher, dass alle Pakete installiert sind, die zum Ausführen von MAUI-Anwendungen erforderlich sind
  3. Erstelle Excel-Dateien mit intuitiven APIs in Maui
  4. Lade und zeige Excel-Dateien im Browser an
  5. Speichere und exportiere Excel-Dateien

IronXL installieren

Nutzen Sie IronXL heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer


Um IronXL zu installieren, kannst du die NuGet-Paket-Manager-Konsole in Visual Studio verwenden. Öffne die Konsole und gib den folgenden Befehl ein, um die IronXL-Bibliothek zu installieren.

Install-Package IronXL.Excel

Erstellen von Excel-Dateien in C# mit IronXL

Gestalte die Anwendungs-Frontend

Öffne die XAML-Seite mit dem Namen MainPage.xaml und ersetze den Code darin mit folgendem Code-Snippet.

<?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 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

Der obige Code erstellt das Layout für unsere grundlegende .NET MAUI-Anwendung. Es erstellt ein Label und zwei Buttons. Ein Button dient zum Erstellen einer Excel-Datei, und der zweite Button bietet Unterstützung zum Lesen und Ändern der Excel-Datei. Beide Elemente sind in einem VerticalStackLayout-Elternelement verschachtelt, sodass sie auf allen unterstützten Geräten vertikal ausgerichtet erscheinen.

Excel-Dateien erstellen

Es ist an der Zeit, die Excel-Datei mit IronXL zu erstellen. Öffne die Datei MainPage.xaml.cs und schreibe die folgende Methode in die Datei.

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());
}
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());
}
Private Sub CreateExcel(ByVal sender As Object, ByVal e As EventArgs)
	' Create a new Workbook
	Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

	' Create a Worksheet
	Dim 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
	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 (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 the Excel file
	Dim saveService As New SaveService()
	saveService.SaveAndView("Budget.xlsx", "application/octet-stream", workbook.ToStream())
End Sub
$vbLabelText   $csharpLabel

Dieser Quellcode erstellt ein Arbeitsbuch und ein Arbeitsblatt mit IronXL, setzt Zellwerte und formatiert die Zellen. Es zeigt auch, wie man Excel-Formeln mit IronXL verwendet.

Excel-Dateien im Browser anzeigen

Öffne die Datei MainPage.xaml.cs und schreibe den folgenden Code.

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");
}
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");
}
Private Sub ReadExcel(ByVal sender As Object, ByVal e As EventArgs)
	' Store the path of the file
	Dim filepath As String = "C:\Files\Customer Data.xlsx"
	Dim workbook As WorkBook = WorkBook.Load(filepath)
	Dim sheet As WorkSheet = workbook.WorkSheets.First()

	' Calculate the sum of a range
	Dim sum As Decimal = 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
	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
$vbLabelText   $csharpLabel

Der Quellcode lädt die Excel-Datei, wendet eine Formel auf einen Zellbereich an und formatiert sie mit benutzerdefinierten Hintergrund- und Textfarben. Anschließend wird die modifizierte Excel-Datei gespeichert und eine Benachrichtigung wird angezeigt.

Excel-Dateien speichern

In diesem Abschnitt definieren wir die Klasse SaveService, die unsere Excel-Dateien im lokalen Speicher speichert.

Erstelle eine Klasse "SaveService.cs" und schreibe den folgenden Code:

using System;
using System.IO;

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

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

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
$vbLabelText   $csharpLabel

Erstelle als nächstes eine Klasse namens "SaveWindows.cs" im Ordner Platforms > Windows und füge den folgenden Code hinzu:

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

			If Not Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons") Then
				Dim savePicker As New FileSavePicker()
				savePicker.DefaultFileExtension = ".xlsx"
				savePicker.SuggestedFileName = fileName
				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)
					Using outputStream As Stream = zipStream.AsStreamForWrite()
						outputStream.SetLength(0)
						stream.WriteTo(outputStream)
						Await outputStream.FlushAsync()
					End Using
				End Using

				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)

				Dim cmd As IUICommand = Await msgDialog.ShowAsync()
				If cmd.Label = yesCmd.Label Then
					Await Windows.System.Launcher.LaunchFileAsync(stFile)
				End If
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Ausgabe

Baue und führe das MAUI-Projekt aus. Bei erfolgreicher Ausführung wird ein Fenster geöffnet, das den in der folgenden Abbildung dargestellten Inhalt zeigt.

class="content-img-align-center">
class="center-image-wrapper"> Read, Create, and Edit Excel Files in .NET MAUI, Figure 1: Output

Figure 1 - Output

Ein Klick auf den Button "Excel-Datei erstellen" öffnet ein separates Dialogfenster. Dieses Fenster fordert den Benutzer auf, einen Speicherort und einen Dateinamen auszuwählen, um eine neue (generierte) Excel-Datei zu speichern. Gib den Speicherort und den Dateinamen wie angegeben ein und klicke auf OK. Anschließend erscheint ein weiteres Dialogfenster.

class="content-img-align-center">
class="center-image-wrapper"> Read, Create, and Edit Excel Files in .NET MAUI, Figure 2: Create Excel Popup

Figure 2 - Create Excel Popup

Öffnen der Excel-Datei wie im Popup angegeben, zeigt das Dokument, wie im folgenden Screenshot dargestellt.

class="content-img-align-center">
class="center-image-wrapper"> Read, Create, and Edit Excel Files in .NET MAUI, Figure 3: Output

Figure 3 - Read and Modify Excel Popup

Durch Klicken auf die Schaltfläche "Excel-Datei lesen und ändern" wird die zuvor erstellte Excel-Datei geladen und mit den benutzerdefinierten Hintergrund- und Textfarben geändert, die wir in einem vorherigen Abschnitt definiert haben.

class="content-img-align-center">
class="center-image-wrapper"> Read, Create, and Edit Excel Files in .NET MAUI, Figure 4: Excel Output

Figure 4 - Excel Output

Wenn du die geänderte Datei öffnest, siehst du die folgende Ausgabe mit Inhaltsverzeichnis.

class="content-img-align-center">
class="center-image-wrapper"> Read, Create, and Edit Excel Files in .NET MAUI, Figure 5: Modified Excel Output

Figure 5 - Modified Excel Output

Abschluss

Dies erklärt, wie wir Excel-Dateien in der .NET MAUI-Anwendung mit der IronXL-Bibliothek erstellen, lesen und ändern können. IronXL leistet sehr gute Arbeit und führt alle Operationen schnell und genau aus. Es ist eine hervorragende Bibliothek für Excel-Operationen, die Microsoft Interop übertrifft, da sie keine Installation der Microsoft Office Suite auf dem Gerät erfordert. Darüber hinaus unterstützt IronXL mehrere Operationen wie das Erstellen von Arbeitsbüchern und Arbeitsblättern, das Arbeiten mit Zellbereichen, das Formatieren und Exportieren in verschiedene Dokumenttypen wie CSV, TSV und mehr.

IronXL unterstützt alle Projektvorlagen wie Windows Form, WPF, ASP.NET Core und viele andere. Refer to our tutorials for creating Excel files and reading Excel files for additional information about how to use IronXL.


class="tutorial-segment-title">Schnellzugriff Links

class="tutorial-section">
class="row">
class="col-sm-8">

Erkunde dieses How-To-Guide auf GitHub

Der Quellcode für dieses Projekt ist auf GitHub verfügbar.

Verwende diesen Code als einfache Möglichkeit, in wenigen Minuten zu beginnen. Das Projekt ist als Microsoft Visual Studio 2022-Projekt gespeichert, aber kompatibel mit jeder .NET IDE.

Wie man Excel-Dateien in .NET MAUI Apps liest, erstellt und bearbeitet
class="col-sm-4">
class="tutorial-image"> Github Icon related to class=Schnellzugriff Links" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/github-icon.svg" loading="lazy">
class="tutorial-section">
class="row">
class="col-sm-4">
class="tutorial-image"> Documentation related to class=Schnellzugriff Links" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy">
class="col-sm-8">

API-Referenz anzeigen

Erkunde die API-Referenz für IronXL, die die Details aller Funktionen, Namespaces, Klassen, Methoden, Felder und Enums von IronXL beschreibt.

API-Referenz anzeigen

Häufig gestellte Fragen

Wie erstelle ich eine Excel-Datei in einer .NET MAUI-Anwendung?

Um eine Excel-Datei in einem .NET MAUI-Projekt zu erstellen, verwenden Sie die IronXL-Bibliothek, um eine neue Arbeitsmappe und ein neues Arbeitsblatt zu initialisieren. Sie können dann Zellwerte festlegen, Excel-Formeln anwenden und die Formatierung anpassen, bevor Sie die Datei mit einer benutzerdefinierten SaveService-Klasse speichern.

Kann ich vorhandene Excel-Dateien in einer .NET MAUI-Anwendung lesen?

Ja, Sie können IronXL verwenden, um vorhandene Excel-Dateien in einer .NET MAUI-Anwendung zu laden und zu lesen. Die Bibliothek ermöglicht den Zugriff auf und die Änderung von Zellwerten, die Anwendung von Formeln und die Implementierung benutzerdefinierter Formatierungen.

Welche Vorteile bietet die Verwendung von IronXL für die Manipulation von Excel-Dateien in .NET MAUI?

IronXL bietet eine eigenständige Lösung für die Manipulation von Excel-Dateien in .NET MAUI, die den Bedarf an Microsoft Office oder Interop eliminiert. Es unterstützt die effiziente Erstellung, das Lesen und Bearbeiten von Excel-Dateien und kann in verschiedene Formate wie CSV und TSV exportieren.

Wie kann ich IronXL in meinem .NET MAUI-Projekt installieren?

Sie können IronXL in Ihrem .NET MAUI-Projekt installieren, indem Sie die NuGet-Paketverwaltungskonsole in Visual Studio verwenden. Führen Sie den Befehl Install-Package IronXL.Excel aus, um die Bibliothek zu Ihrem Projekt hinzuzufügen.

Ist es möglich, Excel-Zellen programmatisch in .NET MAUI zu formatieren?

Ja, mit IronXL können Sie Excel-Zellen in .NET MAUI programmatisch formatieren. Dies umfasst das Festlegen von Zellstilen, Farben und das Anwenden verschiedener Formatierungsoptionen, um das Erscheinungsbild Ihrer Excel-Dateien zu verbessern.

Wie kann ich eine SaveService-Klasse für Excel-Dateien in meiner .NET MAUI-App implementieren?

Um eine SaveService-Klasse in .NET MAUI zu implementieren, können Sie eine Klasse erstellen, die die Funktionalität von IronXL nutzt, um das Speichern von Excel-Dateien im lokalen Speicher zu verwalten. Dies beinhaltet das Definieren von Methoden zur Angabe von Dateiwegen und die Verwaltung von Dateiein- und -ausgabeoperationen.

Welche Projekttemplates unterstützt IronXL in .NET-Anwendungen?

IronXL unterstützt eine Vielzahl von .NET-Projekttemplates, darunter Windows Forms, WPF, ASP.NET Core und mehr, und bietet Flexibilität für Entwickler, die an verschiedenen Anwendungstypen arbeiten.

Wo kann ich den Quellcode für das .NET MAUI Excel-Projekt finden?

Der Quellcode für das .NET MAUI Excel-Projekt mit IronXL ist auf GitHub verfügbar. Damit können Entwickler schnell einrichten und mit der Manipulation von Excel-Dateien in ihren Anwendungen mit Visual Studio 2022 experimentieren.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,686,155 | Version: 2025.11 gerade veröffentlicht