Cómo leer y escribir documentos de Word en Android con .NET MAUI

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

.NET MAUI (Interfaz de usuario de aplicaciones multiplataforma) permite a los desarrolladores crear aplicaciones nativas para Android, iOS, macOS y Windows utilizando una única base de código C#. Este enfoque simplifica el desarrollo y ofrece rendimiento nativo en todas las plataformas.

Aunque IronWord no tiene un paquete dedicado para Android, funciona sin problemas en Android a través de .NET MAUI. Esto significa que puedes crear aplicaciones que lean y escriban documentos de Word en dispositivos Android con facilidad.

Paso 1: Crea tu proyecto de aplicación .NET MAUI

Comienza abriendo Visual Studio y creando un nuevo proyecto de aplicación .NET MAUI. Este tipo de proyecto admite la creación de aplicaciones para múltiples plataformas desde una sola base de código.

Elige un nombre de proyecto claro como IronWordMauiAndroid para mantenerte organizado. Esta configuración establece la base para crear una aplicación nativa de Android con código específico de plataforma mínimo.

Paso 2: Agregue el paquete NuGet de IronWord

IronWord se puede integrar perfectamente en tus proyectos .NET a través de su paquete NuGet. Para añadir IronWord a través de NuGet, haz clic derecho en tu proyecto y selecciona Gestionar Paquetes NuGet. Busca 'IronWord' e instala la última versión estable.

Alternativamente, puedes agregarlo fácilmente usando la Consola del Administrador de Paquetes NuGet ejecutando esta línea:

Install-Package IronWord

Paso 3: Diseña la interfaz de usuario en MainPage.xaml

Para permitir que los usuarios creen y guarden documentos de Word en Android, diseñarás una interfaz simple y limpia usando XAML. Esta interfaz incluye:

  • Un editor de texto multilínea donde los usuarios pueden escribir o editar contenido.
  • Un botón "Guardar como documento de Word" que activa el guardado del texto actual en un archivo .docx.
  • Una etiqueta de estado para proporcionar retroalimentación o mensajes de error al usuario.

Aquí está el marcado XAML que define este diseño:

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

Paso 4: Implementar el manejo de documentos en MainPage.xaml.cs

Con la interfaz configurada, ahora puedes agregar la lógica para manejar el guardado de documentos. En MainPage.xaml.cs, configura tu clave de licencia de IronWord en el constructor, luego implementa el método OnSaveWordClicked.

Cuando se pulse el botón, la aplicación crea un nuevo WordDocument, añade el texto del Editor como un párrafo y guarda el archivo. En Android, se guarda en la carpeta Descargas; en otras plataformas, utiliza el directorio de caché de la aplicación.

Un bloque try-catch asegura que cualquier error sea capturado y mostrado en la etiqueta de estado.

Aquí está el código completo funcionando:

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

Paso 5: Ejecuta tu aplicación en Android

Despliega tu aplicación fácilmente a un emulador de Android o dispositivo físico directamente desde Visual Studio. Esto te permite probar rápidamente características esenciales como abrir documentos de Word, editar su contenido y guardar cualquier cambio.

La integración del selector de archivos nativo de Android ofrece una experiencia fluida y familiar para los usuarios, mejorando la usabilidad general.

Dado que IronWord se ejecuta completamente dentro del entorno .NET, no se requieren SDK adicionales o dependencias específicas de la plataforma, lo que hace que tu aplicación sea más sencilla de desarrollar, mantener y distribuir.

Preguntas Frecuentes

¿Qué es IronWord?

IronWord es una biblioteca desarrollada por Iron Software que permite a los desarrolladores trabajar con documentos de Word en sus aplicaciones, incluidas las aplicaciones de Android usando .NET MAUI.

¿Cómo puedo integrar IronWord en una aplicación Android?

Puedes integrar IronWord en tu aplicación Android siguiendo las instrucciones de configuración en el sitio web de Iron Software, que te guían a través de la adición de la biblioteca a tu proyecto .NET MAUI.

¿Cuáles son los beneficios de usar IronWord para el desarrollo de Android?

IronWord proporciona una forma sencilla y eficiente de leer, escribir y manipular documentos de Word dentro de aplicaciones Android, aprovechando el poder de .NET MAUI para un desarrollo multiplataforma sin problemas.

¿Puede IronWord manejar documentos de Word complejos?

Sí, IronWord está diseñado para manejar documentos de Word complejos, incluidos aquellos con formato avanzado y elementos incrustados, lo que lo convierte en una opción robusta para los desarrolladores.

¿Es compatible IronWord con .NET MAUI?

Sí, IronWord es totalmente compatible con .NET MAUI, lo que permite a los desarrolladores crear aplicaciones multiplataforma que incluyen capacidades de procesamiento de documentos de Word.

¿Qué formatos de archivo puede procesar IronWord?

IronWord trabaja principalmente con formatos de documentos de Word como DOCX y DOC, proporcionando funcionalidad completa para leer y escribir estos archivos.

¿IronWord soporta la conversión de documentos en Android?

IronWord soporta características de conversión de documentos, permitiendo a los desarrolladores convertir documentos de Word a otros formatos según sea necesario dentro de aplicaciones Android.

¿Hay una versión de prueba de IronWord disponible?

Sí, Iron Software ofrece una versión de prueba gratuita de IronWord, permitiendo a los desarrolladores explorar sus características y funcionalidad antes de comprometerse con una compra.

¿Qué tipo de soporte está disponible para los usuarios de IronWord?

Iron Software proporciona soporte completo para los usuarios de IronWord, que incluye documentación, tutoriales y un equipo de soporte dedicado para ayudar con cualquier problema.

¿Puede utilizarse IronWord para crear plantillas de Word en Android?

Sí, IronWord puede usarse para crear y trabajar con plantillas de Word, lo que lo hace ideal para aplicaciones que requieren generación de documentos con plantillas en dispositivos Android.

Kye Stuart
Escritor Técnico

Kye Stuart fusiona la pasión por la codificación y la habilidad para escribir en Iron Software. Educado en Yoobee College en despliegue de software, ahora transforma conceptos tecnológicos complejos en contenido educativo claro. Kye valora el aprendizaje continuo y acepta nuevos desafíos tecnológicos.

<...
Leer más
¿Listo para empezar?
Nuget Descargas 27,129 | Version: 2025.11 recién lanzado