Erstellen, Lesen und Bearbeiten von Excel-Dateien in .NET MAUI

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

Einführung

In diesem Leitfaden wird erklärt, wie man mit IronXL Excel-Dateien in .NET MAUI-Anwendungen für Windows erstellt und liest. Fangen wir an.

IronXL: C# Excel-Bibliothek

IronXL ist eine C# .NET-Bibliothek zum Lesen, Schreiben und Bearbeiten von Excel-Dateien. Damit können Benutzer Excel-Dokumente von Grund auf neu erstellen, einschließlich des Inhalts und des Aussehens von Excel sowie der Metadaten wie Titel und Autor. Die Bibliothek unterstützt auch Anpassungsfunktionen für die Benutzeroberfläche wie die Einstellung von Rändern, Ausrichtung, Seitengröße, Bildern usw. Es erfordert keine externen Frameworks, Plattformintegration oder andere Bibliotheken von Drittanbietern für die Erstellung von Excel-Dateien. Sie ist in sich geschlossen und eigenständig.

IronXL installieren

Beginnen Sie noch heute mit der Verwendung von IronXL in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer


Sie können IronXL über die NuGet-Paketmanager-Konsole in Visual Studio installieren. Öffnen Sie die Konsole und geben Sie den folgenden Befehl ein, um die IronXL-Bibliothek zu installieren.

Install-Package IronXL.Excel

Leitfaden

Erstellen von Excel-Dateien in C# mit IronXL

Entwurf des Anwendungs-Frontends

Öffnen Sie die XAML-Seite mit dem Namen **MainPage.xaml** und ersetzen Sie den darin enthaltenen Code durch den folgenden Codeschnipsel.

<?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 einfache .NET MAUI-Anwendung. Es werden ein Etikett und zwei Schaltflächen erstellt. Eine Schaltfläche dient der Erstellung einer Excel-Datei, die zweite Schaltfläche bietet Unterstützung beim Lesen und Ändern der Excel-Datei. Beide Elemente sind in einem übergeordneten Element VerticalStackLayout verschachtelt, so dass sie auf allen unterstützten Geräten vertikal ausgerichtet erscheinen.

Excel-Dateien erstellen

Jetzt ist es an der Zeit, die Excel-Datei mit IronXL zu erstellen. Öffnen Sie die Datei MainPage.xaml.cs und schreiben Sie die folgende Methode in die Datei.

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#

Der Quellcode erstellt eine Arbeitsmappe mit einem Arbeitsblatt unter Verwendung von IronXL und setzt dann die Zellwerte mithilfe der Eigenschaft "Wert" für jede Zelle.

Mit der Eigenschaft style können wir den Zellen ein Styling und Rahmen hinzufügen. Wie oben gezeigt, können wir Stilisierungen auf eine einzelne Zelle oder einen Bereich von Zellen anwenden.

IronXL unterstützt auch Excel-Formeln. Benutzerdefinierte Excel-Formeln können für eine oder mehrere Zellen erstellt werden. Außerdem können die Werte, die sich aus einer Excel-Formel ergeben, in einer Variablen gespeichert werden, um sie später zu verwenden.

Die Klasse "SaveService" wird zum Speichern und Anzeigen der erzeugten Excel-Dateien verwendet. Diese Klasse ist im obigen Code deklariert und wird in einem späteren Abschnitt formell definiert.

Excel-Dateien im Browser anzeigen

Öffnen Sie die Datei MainPage.xaml.cs und schreiben Sie den folgenden Code.

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#

Der Quellcode lädt die Excel-Datei, wendet die Formel auf einen Bereich von Zellen an und formatiert sie mit benutzerdefinierten Hintergrund- und Textfarben. Anschließend wird die Excel-Datei in Form eines Bytestroms an den Browser des Benutzers übertragen. Zusätzlich zeigt die Methode "DisplayAlert" eine Meldung an, dass die Datei geöffnet und geändert wurde.

Excel-Dateien speichern

In diesem Abschnitt werden wir nun die Klasse "SaveService" definieren, auf die wir in den beiden vorangegangenen Abschnitten verwiesen haben und die unsere Excel-Dateien im lokalen Speicher ablegen wird.

Erstellen Sie eine Klasse "SaveService.cs" und schreiben Sie den folgenden Code:

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#

Erstellen Sie als Nächstes eine Klasse mit dem Namen "SaveWindows.cs" im Ordner "Platforms > Windows" und fügen Sie ihr den unten stehenden Code hinzu.


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#

Ausgabe

Erstellen und starten Sie das MAUI-Projekt. Nach erfolgreicher Ausführung öffnet sich ein Fenster mit dem in der folgenden Abbildung dargestellten Inhalt.

Lesen, Erstellen und Bearbeiten von Excel-Dateien in .NET MAUI, Abbildung 1: Ausgabe

Abbildung 1 - Ausgabe

Wenn Sie auf die Schaltfläche "Excel-Datei erstellen" klicken, wird ein separates Dialogfenster geöffnet. In diesem Fenster wird der Benutzer aufgefordert, einen Speicherort und einen Dateinamen zu wählen, unter dem eine neue Datei gespeichert werden soll(generiert) Excel-Datei. Geben Sie den Speicherort und den Dateinamen wie angegeben an und klicken Sie auf OK. Daraufhin erscheint ein weiteres Dialogfenster.

Lesen, Erstellen und Bearbeiten von Excel-Dateien in .NET MAUI, Abbildung 2: Excel-Popup erstellen

Abbildung 2 - Excel-Popup erstellen

Wenn Sie die Excel-Datei wie im Popup-Fenster angegeben öffnen, wird ein Dokument angezeigt, wie in der folgenden Abbildung dargestellt.

Lesen, Erstellen und Bearbeiten von Excel-Dateien in .NET MAUI, Abbildung 3: Ausgabe

Abbildung 3 - Lesen und Ändern von Excel-Popup

Wenn Sie auf die Schaltfläche "Excel-Datei lesen und ändern" klicken, wird die zuvor erstellte Excel-Datei geladen und mit den benutzerdefinierten Hintergrund- und Textfarben geändert, die wir in einem früheren Abschnitt definiert haben.

Lesen, Erstellen und Bearbeiten von Excel-Dateien in .NET MAUI, Abbildung 4: Excel-Ausgabe

Abbildung 4 - Excel-Ausgabe

Wenn Sie die geänderte Datei öffnen, erhalten Sie die folgende Ausgabe mit Inhaltsverzeichnis.

Lesen, Erstellen und Bearbeiten von Excel-Dateien in .NET MAUI, Abbildung 5: Geänderte Excel-Ausgabe

Abbildung 5 - Geänderte Excel-Ausgabe

Schlussfolgerung

Hier wird erklärt, wie man mit der IronXL-Bibliothek Excel-Dateien in der .NET MAUI-Anwendung erstellen, lesen und ändern kann. IronXL ist sehr leistungsfähig und führt alle Vorgänge schnell und präzise aus. IronXL ist eine hervorragende Bibliothek für Excel-Operationen. Es ist weit besser als Microsoft Interop, da es keine Installation der Microsoft Office Suite auf dem Rechner erfordert. Darüber hinaus unterstützt IronXL mehrere Operationen wie die Erstellung von Arbeitsmappen und Arbeitsblättern, die Arbeit mit Zellbereichen, die Formatierung und den Export in verschiedene Dokumenttypen wie CSV, TSV und viele mehr.

IronXL unterstützt alle Projektvorlagen wie Windows Form, WPF, ASP.NET Core und viele andere. Siehe unsere Tutorials fürerstellen von Excel-Dateien undlesen von Excel-Dateien für weitere Informationen über die Verwendung von IronXL.


Schnellzugriff-Links

Erforschen Sie diesen Leitfaden auf GitHub

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

Verwenden Sie diesen Code als einfache Möglichkeit, um in wenigen Minuten loszulegen. Das Projekt wird als Microsoft Visual Studio 2022 Projekt gespeichert, ist aber mit jeder .NET IDE kompatibel.

Lesen, Erstellen und Bearbeiten von Excel-Dateien in .NET MAUI-Anwendungen
Github Icon related to Schnellzugriff-Links
Documentation related to Schnellzugriff-Links

Ansicht der API-Referenz

Entdecken Sie die API-Referenz für IronXL, die Details zu allen Funktionen, Namespaces, Klassen, Methoden, Feldern und Enums von IronXL enthält.

Ansicht der API-Referenz