Jak odczytywać i tworzyć pliki Excel w .NET MAUI za pomocą C# | IronXL

Tworzenie, odczytywanie i edytowanie plików Excel w .NET MAUI

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

Wprowadzenie

Przewodnik pokazuje, jak tworzyć i odczytywać pliki Excel w aplikacjach .NET MAUI dla systemu Windows z wykorzystaniem IronXL. Zaczynajmy.

IronXL: biblioteka C# dla programu Excel

IronXL to biblioteka C# .NET do odczytywania, zapisywania i manipulacji plikami Excel. Pozwala użytkownikom tworzyć dokumenty Excel od podstaw, w tym zawartość i wygląd arkusza, oraz metadane jak tytuł i autor. Biblioteka wspiera również funkcje dostosowywania interfejsu użytkownika, takie jak ustawianie marginesów, orientacji, rozmiaru strony, obrazów itp. Nie wymaga żadnych zewnętrznych frameworków, integracji platform ani innych bibliotek firm trzecich do generowania plików Excel. Jest samodzielnym i odizolowanym rozwiązaniem.

Zainstaluj IronXL


Aby zainstalować IronXL, możesz użyć konsoli Package Manager NuGet w Visual Studio. Otwórz konsolę i wprowadź następujące polecenie, aby zainstalować bibliotekę IronXL.

Install-Package IronXl.Excel

Tworzenie plików Excel w C# z użyciem IronXL

Zaprojektuj frontend aplikacji

Otwórz stronę XAML o nazwie MainPage.xaml i zastąp zawarty w niej kod poniższym fragmentem kodu.

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

Powyższy kod tworzy układ dla naszej podstawowej aplikacji .NET MAUI. Tworzy jeden etykietę i dwa przyciski. Jeden przycisk służy do tworzenia pliku Excel, a drugi zapewnia wsparcie dla odczytu i modyfikacji pliku Excel. Oba elementy są zagnieżdżone w elemencie rodzicu VerticalStackLayout, dzięki czemu będą wyświetlane w pionie na wszystkich obsługiwanych urządzeniach.

Twórz pliki Excel

Czas na stworzenie pliku Excel z wykorzystaniem IronXL. Otwórz plik MainPage.xaml.cs i napisz w nim następującą metodę.

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(sender As Object, 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

    ' 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

Ten kod źródłowy tworzy skoroszyt i arkusz przy użyciu IronXL, ustawia wartości komórek i formatuje komórki. Demonstracja użycia formuł Excel z IronXL.

Przeglądanie plików Excel w przeglądarce

Otwórz plik MainPage.xaml.cs i napisz następujący kod.

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

Kod źródłowy ładuje plik Excel, stosuje formułę na zakresie komórek i formatuje go z niestandardowym tłem i kolorowaniem tekstu. Następnie zmodyfikowany plik Excel zostanie zapisany, a powiadomienie zostanie wyświetlone.

Zapisz pliki Excel

W tej sekcji definiujemy klasę SaveService, która zapisze nasze pliki Excel w lokalnej pamięci.

Utwórz klasę "SaveService.cs" i napisz następujący kod:

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

Następnie utwórz klasę o nazwie "SaveWindows.cs" w folderze Platforms > Windows, i dodaj następujący kod:

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

Wynik

Zbuduj i uruchom projekt MAUI. Po pomyślnym wykonaniu otworzy się okno, które pokaże zawartość widoczną na poniższym obrazku.

Read, Create, and Edit Excel Files in .NET MAUI, Figure 1: Output

Rysunek 1 - Wynik

Kliknięcie przycisku "Create Excel File" otworzy osobne okno dialogowe. To okno poprosi użytkowników o wybór lokalizacji i nazwy pliku, za pomocą której można zapisać nowy (wygenerowany) plik Excel. Określ lokalizację i nazwę pliku, jak wskazano, i kliknij OK. Później pojawi się kolejne okno dialogowe.

Read, Create, and Edit Excel Files in .NET MAUI, Figure 2: Create Excel Popup

Rysunek 2 - Popup Tworzenia Excel

Otworzenie pliku Excel zgodnie z instrukcją w pop-upie spowoduje wyświetlenie dokumentu pokazane na poniższym zrzucie ekranu.

Read, Create, and Edit Excel Files in .NET MAUI, Figure 3: Output

Rysunek 3 - Popup Odczytu i Modyfikacji Excel

Kliknięcie przycisku "Read and Modify Excel File" załaduje wcześniej wygenerowany plik Excel i zmodyfikuje go z niestandardowym tłem i kolorowaniem tekstu, które zdefiniowaliśmy w poprzedniej sekcji.

Read, Create, and Edit Excel Files in .NET MAUI, Figure 4: Excel Output

Rysunek 4 - Wynik Excel

Po otwarciu zmodyfikowanego pliku zobaczysz następujący wynik z tabelą zawartości.

Read, Create, and Edit Excel Files in .NET MAUI, Figure 5: Modified Excel Output

Rysunek 5 - Zmodyfikowany Wynik Excel

Wnioski

To wyjaśnia, jak możemy tworzyć, odczytywać i modyfikować pliki Excel w aplikacjach .NET MAUI przy użyciu biblioteki IronXL. IronXL wypada bardzo dobrze i wykonuje wszystkie operacje z szybkością i dokładnością. Jest doskonałą biblioteką do operacji Excel, przewyższającą Microsoft Interop, ponieważ nie wymaga instalacji pakietu Microsoft Office na maszynie. Dodatkowo, IronXL wspiera wiele operacji jak tworzenie skoroszytów i arkuszy, praca z zakresami komórek, formatowanie i eksportowanie do różnych typów dokumentów jak CSV, TSV i inne.

IronXL wspiera wszystkie szablony projektów jak Windows Form, WPF, ASP.NET Core i wiele innych. Zapoznaj się z naszymi tutorialami na temat tworzenia plików Excel i odczytywania plików Excel dla dodatkowych informacji o tym, jak korzystać z IronXL.


Szybkie linki dostępu

Odkryj ten przewodnik "How-To" na GitHubie

Kod źródłowy tego projektu dostępny jest na GitHubie.

Użyj tego kodu jako łatwego sposobu na szybkie rozpoczęcie. Projekt jest zapisany jako projekt Microsoft Visual Studio 2022, ale jest kompatybilny z dowolnym środowiskiem .NET IDE.

Jak odczytywać, tworzyć i edytować pliki Excel w aplikacjach .NET MAUI
Github Icon related to Szybkie linki dostępu
Documentation related to Szybkie linki dostępu

Zobacz Dokumentację API

Zapoznaj się z Dokumentacją API dla IronXL, przedstawiającą szczegóły wszystkich funkcji, przestrzeni nazw, klas, metod, pól i wyliczeń IronXL.

Zobacz Dokumentację API

Często Zadawane Pytania

Jak utworzyć plik Excel w aplikacji .NET MAUI?

Aby utworzyć plik Excel w projekcie .NET MAUI, należy użyć biblioteki IronXL do zainicjowania nowego skoroszytu i arkusza. Następnie można ustawić wartości komórek, zastosować formuły Excel i dostosować formatowanie przed zapisaniem pliku przy użyciu niestandardowej klasy SaveService.

Czy mogę odczytywać istniejące pliki Excel w aplikacji .NET MAUI?

Tak, można używać IronXL do ładowania i odczytywania istniejących plików Excel w aplikacji .NET MAUI. Biblioteka IronXL umożliwia dostęp do wartości komórek i ich modyfikację, stosowanie formuł oraz wdrażanie niestandardowego formatowania.

Jakie są zalety korzystania z IronXL do manipulacji plikami Excel w .NET MAUI?

IronXL oferuje samodzielne rozwiązanie do obsługi plików Excel w środowisku .NET MAUI, eliminując potrzebę korzystania z pakietu Microsoft Office lub Interop. Umożliwia ono wydajne tworzenie, odczytywanie i edycję plików Excel oraz eksportowanie ich do różnych formatów, takich jak CSV i TSV.

Jak zainstalować IronXL w moim projekcie .NET MAUI?

Możesz zainstalować IronXL w swoim projekcie .NET MAUI, korzystając z konsoli NuGet Package Manager Console w Visual Studio. Wprowadź polecenie: Install-Package IronXl.Excel, aby dodać bibliotekę IronXL do swojego projektu.

Czy w .NET MAUI można programowo formatować komórki Excela?

Tak, dzięki IronXL można programowo formatować komórki Excela w środowisku .NET MAUI. Obejmuje to ustawianie stylów komórek, kolorów oraz stosowanie różnych opcji formatowania w celu poprawy wyglądu plików Excel.

Jak mogę zaimplementować klasę SaveService dla plików Excel w mojej aplikacji .NET MAUI?

Aby zaimplementować klasę SaveService w .NET MAUI, można utworzyć klasę wykorzystującą funkcjonalność IronXL do obsługi zapisywania plików Excel w lokalnej pamięci. Wymaga to zdefiniowania metod służących do określania ścieżek plików oraz zarządzania operacjami wejścia/wyjścia plików.

Jakie szablony projektów obsługuje IronXL w aplikacjach .NET?

IronXL obsługuje różnorodne szablony projektów .NET, w tym Windows Forms, WPF, ASP.NET Core i inne, zapewniając elastyczność programistom pracującym nad różnymi typami aplikacji.

Gdzie mogę znaleźć kod źródłowy projektu .NET MAUI Excel?

Kod źródłowy projektu .NET MAUI Excel wykorzystującego IronXL jest dostępny na GitHubie. Dzięki temu programiści mogą szybko skonfigurować i eksperymentować z manipulacją plikami Excel w swoich aplikacjach przy użyciu Visual Studio 2022.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 1,950,735 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXl.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.