Jak odczytywać i zapisywać dokumenty WORD na Androidzie w .NET MAUI

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

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

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

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

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.

Kye Stuart
Autor tekstów technicznych

Kye Stuart łączy pasję do kodowania i umiejętność pisania w Iron Software. Ukończył naukę w Yoobee College w zakresie wdrażania oprogramowania, teraz przekształcając złożone koncepcje technologiczne w jasne materiały edukacyjne. Kye ceni sobie ciągłe naukę i chętnie podejmuje ...

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

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronWord
uruchom próbkę zobacz, jak twoje dane stają się dokumentem Word.