Jak odczytywać i zapisywać dokumenty WORD na Androidzie w .NET MAUI
.NET MAUI (Multi-platform App UI) pozwala programistom tworzyć natywne aplikacje na Androida, iOS, macOS i Windows przy użyciu jednego kodu źródłowego w języku C#. Takie podejście upraszcza proces tworzenia oprogramowania i zapewnia wydajność na poziomie natywnych aplikacji na wszystkich platformach.
Chociaż IronWord nie ma dedykowanego pakietu dla systemu Android, działa płynnie na tym systemie dzięki .NET MAUI. Oznacza to, że możesz z łatwością tworzyć aplikacje, które odczytują i zapisują dokumenty WORD na urządzeniach z systemem Android.
Jak korzystać z IronWord na Androidzie w .NET MAUI
- Utwórz projekt aplikacji .NET MAUI
- Pobierz bibliotekę C# do edycji dokumentów WORD na Androidzie
- Zaprojektuj interfejs użytkownika w pliku MainPage.xaml
- Wdrożenie obsługi dokumentów w pliku MainPage.xaml.cs
- Uruchom swoją aplikację na Androidzie
Krok 1: Utwórz projekt aplikacji .NET MAUI
Zacznij od otwarcia programu Visual Studio i utworzenia nowego projektu aplikacji .NET MAUI. Ten typ projektu umożliwia tworzenie aplikacji na wiele platform z jednego kodu źródłowego.
Wybierz jasną nazwę projektu, np. IronWordMauiAndroid, aby zachować porządek. Taka konfiguracja stanowi podstawę do stworzenia natywnej aplikacji na Androida przy minimalnej ilości kodu specyficznego dla platformy.
Krok 2: Dodaj pakiet IronWord NuGet
IronWord można płynnie zintegrować z projektami .NET za pomocą pakietu NuGet. Aby dodać IronWord za pośrednictwem NuGet, kliknij prawym przyciskiem myszy swój projekt i wybierz opcję Zarządzaj pakietami NuGet. Wyszukaj "IronWord" i zainstaluj najnowszą stabilną wersję.
Alternatywnie można to łatwo dodać za pomocą konsoli NuGet Package Manager Console, uruchamiając następujący wiersz:
Install-Package IronWord
Krok 3: Zaprojektuj interfejs użytkownika w pliku MainPage.xaml
Aby umożliwić użytkownikom tworzenie i zapisywanie dokumentów WORD na Androidzie, zaprojektujesz prosty i przejrzysty interfejs użytkownika przy użyciu XAML. Interfejs ten obejmuje:
- Wielowierszowy edytor tekstu, w którym użytkownicy mogą wpisywać lub edytować treści.
- Przycisk "Zapisz jako dokument WORD", który powoduje zapisanie bieżącego tekstu do pliku .docx.
- Etykieta stanu służąca do przekazywania użytkownikowi informacji zwrotnych lub komunikatów o błędach.
Oto znaczniki XAML definiujące ten układ:
<?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="IronWordAndroid.MainPage">
<VerticalStackLayout Padding="20" Spacing="15">
<Editor x:Name="WordEditor"
Placeholder="Enter your text..."
AutoSize="TextChanges"
HeightRequest="300"/>
<Button Text="Save as Word Document" Clicked="OnSaveWordClicked"/>
<Label x:Name="StatusLabel" FontSize="12" TextColor="Gray"/>
</VerticalStackLayout>
</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="IronWordAndroid.MainPage">
<VerticalStackLayout Padding="20" Spacing="15">
<Editor x:Name="WordEditor"
Placeholder="Enter your text..."
AutoSize="TextChanges"
HeightRequest="300"/>
<Button Text="Save as Word Document" Clicked="OnSaveWordClicked"/>
<Label x:Name="StatusLabel" FontSize="12" TextColor="Gray"/>
</VerticalStackLayout>
</ContentPage>
Krok 4: Wdrożenie obsługi dokumentów w pliku MainPage.xaml.cs
Po skonfigurowaniu interfejsu użytkownika można teraz dodać logikę do obsługi zapisywania dokumentów. W pliku MainPage.xaml.cs ustaw klucz licencyjny IronWord w konstruktorze, a następnie zaimplementuj metodę OnSaveWordClicked.
Po naciśnięciu przycisku aplikacja tworzy nowy dokument WordDocument, dodaje tekst z edytora jako akapit i zapisuje plik. W systemie Android jest on zapisywany w folderze Pobrane; na innych platformach korzysta z katalogu pamięci podręcznej aplikacji.
Blok try-catch zapewnia, że wszelkie błędy są wychwytywane i wyświetlane w etykiecie statusu.
Oto pełny kod:
using IronWord;
using IronWord.Models;
using Microsoft.Maui.Storage;
using System.Text;
namespace IronWordAndroid;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
// Set your IronWord license key
License.LicenseKey = "YOUR-LICENSE-KEY";
}
private async void OnSaveWordClicked(object sender, EventArgs e)
{
try
{
// Create new Word document
var document = new WordDocument();
Paragraph paragraph = new Paragraph(new TextContent(WordEditor.Text));
// Add basic text content
document.AddParagraph(paragraph);
// Generate a filename
string fileName = $"MyWordDoc_{DateTime.Now:yyyyMMddHHmmss}.docx";
#if ANDROID
string filePath = Path.Combine("/storage/emulated/0/Download", fileName);
#else
string filePath = Path.Combine(FileSystem.CacheDirectory, fileName);
#endif
// Save to path
document.SaveAs(filePath);
StatusLabel.Text = $"Saved to: {filePath}";
await DisplayAlert("Success", $"File saved: {filePath}", "OK");
}
catch (Exception ex)
{
StatusLabel.Text = $"Error: {ex.Message}";
}
}
}
using IronWord;
using IronWord.Models;
using Microsoft.Maui.Storage;
using System.Text;
namespace IronWordAndroid;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
// Set your IronWord license key
License.LicenseKey = "YOUR-LICENSE-KEY";
}
private async void OnSaveWordClicked(object sender, EventArgs e)
{
try
{
// Create new Word document
var document = new WordDocument();
Paragraph paragraph = new Paragraph(new TextContent(WordEditor.Text));
// Add basic text content
document.AddParagraph(paragraph);
// Generate a filename
string fileName = $"MyWordDoc_{DateTime.Now:yyyyMMddHHmmss}.docx";
#if ANDROID
string filePath = Path.Combine("/storage/emulated/0/Download", fileName);
#else
string filePath = Path.Combine(FileSystem.CacheDirectory, fileName);
#endif
// Save to path
document.SaveAs(filePath);
StatusLabel.Text = $"Saved to: {filePath}";
await DisplayAlert("Success", $"File saved: {filePath}", "OK");
}
catch (Exception ex)
{
StatusLabel.Text = $"Error: {ex.Message}";
}
}
}
Imports IronWord
Imports IronWord.Models
Imports Microsoft.Maui.Storage
Imports System.Text
Namespace IronWordAndroid
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
' Set your IronWord license key
License.LicenseKey = "YOUR-LICENSE-KEY"
End Sub
Private Async Sub OnSaveWordClicked(ByVal sender As Object, ByVal e As EventArgs)
Try
' Create new Word document
Dim document = New WordDocument()
Dim paragraph As New Paragraph(New TextContent(WordEditor.Text))
' Add basic text content
document.AddParagraph(paragraph)
' Generate a filename
Dim fileName As String = $"MyWordDoc_{DateTime.Now:yyyyMMddHHmmss}.docx"
#If ANDROID Then
Dim filePath As String = Path.Combine("/storage/emulated/0/Download", fileName)
#Else
Dim filePath As String = Path.Combine(FileSystem.CacheDirectory, fileName)
#End If
' Save to path
document.SaveAs(filePath)
StatusLabel.Text = $"Saved to: {filePath}"
Await DisplayAlert("Success", $"File saved: {filePath}", "OK")
Catch ex As Exception
StatusLabel.Text = $"Error: {ex.Message}"
End Try
End Sub
End Class
End Namespace
Krok 5: Uruchom swoją aplikację na Androidzie
Wdrażaj swoją aplikację bez wysiłku na emulatorze Androida lub urządzeniu fizycznym bezpośrednio z Visual Studio. Pozwala to na szybkie przetestowanie podstawowych funkcji, takich jak otwieranie dokumentów WORD, edycja ich treści oraz zapisywanie wszelkich zmian.
Integracja natywnego selektora plików systemu Android zapewnia użytkownikom płynne i znane doświadczenie, poprawiając ogólną użyteczność.
Ponieważ IronWord działa całkowicie w środowisku .NET, nie ma potrzeby stosowania dodatkowych zestawów SDK ani zależności specyficznych dla platformy — dzięki czemu tworzenie, utrzymywanie i dystrybucja aplikacji stają się prostsze.
Często Zadawane Pytania
Czym jest IronWord?
IronWord to biblioteka opracowana przez Iron Software, która umożliwia programistom pracę z dokumentami Worda w ich aplikacjach, w tym w aplikacjach na Androida wykorzystujących .NET MAUI.
Jak mogę zintegrować IronWord z aplikacją na Androida?
Możesz zintegrować IronWord ze swoją aplikacją na Androida, postępując zgodnie z instrukcjami konfiguracji na stronie internetowej Iron Software, które poprowadzą Cię przez proces dodawania biblioteki IronWord do projektu .NET MAUI.
Jakie są zalety korzystania z IronWord przy tworzeniu aplikacji na Androida?
IronWord zapewnia prosty i wydajny sposób odczytu, zapisu i manipulacji dokumentami Worda w aplikacjach na Androida, wykorzystując możliwości .NET MAUI do płynnego tworzenia oprogramowania na wiele platform.
Czy IronWord radzi sobie ze złożonymi dokumentami WORDa?
Tak, IronWord został zaprojektowany do obsługi złożonych dokumentów WORDa, w tym tych z zaawansowanym formatowaniem i elementami osadzonymi, co czyni go solidnym wyborem dla programistów.
Czy IronWord jest kompatybilny z .NET MAUI?
Tak, IronWord jest w pełni kompatybilny z .NET MAUI, co pozwala programistom tworzyć aplikacje wieloplatformowe z funkcjami przetwarzania dokumentów WORD.
Jakie formaty plików może przetwarzać IronWord?
IronWord obsługuje przede wszystkim formaty dokumentów WORD, takie jak DOCX i DOC, zapewniając kompleksową funkcjonalność do odczytu i zapisu tych plików.
Czy IronWord obsługuje konwersję dokumentów na Androidzie?
IronWord obsługuje funkcje konwersji dokumentów, umożliwiając programistom konwersję dokumentów WORDa do innych formatów w razie potrzeby w ramach aplikacji na Androida.
Czy dostępna jest wersja próbna programu IronWord?
Tak, firma Iron Software oferuje bezpłatną wersję próbną programu IronWord, umożliwiającą programistom zapoznanie się z jego funkcjami i możliwościami przed podjęciem decyzji o zakupie.
Jakiego rodzaju wsparcie jest dostępne dla użytkowników IronWord?
Iron Software zapewnia kompleksowe wsparcie dla użytkowników IronWord, w tym dokumentację, samouczki oraz dedykowany zespół wsparcia, który pomaga w rozwiązywaniu wszelkich problemów.
Czy IronWord może służyć do tworzenia szablonów WORDa na Androidzie?
Tak, IronWord może służyć do tworzenia szablonów WORDa i pracy z nimi, co czyni go idealnym rozwiązaniem dla aplikacji wymagających generowania dokumentów na podstawie szablonów na urządzeniach z systemem Android.

