Tworzenie, odczytywanie i edytowanie plików Excel w .NET MAUI
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.
Jak odczytywać pliki Excel w .NET MAUI
- Zainstaluj bibliotekę C# do odczytu plików Excel
- Upewnij się, że wszystkie pakiety wymagane do uruchomienia aplikacji MAUI są zainstalowane
- Twórz pliki Excel z intuicyjnymi API w Maui
- Ładowanie i przeglądanie plików Excel w przeglądarce
- Zapisz i eksportuj pliki Excel
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>
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
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
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
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
Wynik
Zbuduj i uruchom projekt MAUI. Po pomyślnym wykonaniu otworzy się okno, które pokaże zawartość widoczną na poniższym obrazku.
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.
Rysunek 2 - Popup Tworzenia Excel
Otworzenie pliku Excel zgodnie z instrukcją w pop-upie spowoduje wyświetlenie dokumentu pokazane na poniższym zrzucie ekranu.
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.
Rysunek 4 - Wynik Excel
Po otwarciu zmodyfikowanego pliku zobaczysz następujący wynik z tabelą zawartości.
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 MAUIZobacz 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ę APICzę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.

