如何在.NET MAUI中於Android上讀取和寫入Word文件
.NET MAUI(多平台應用UI)讓開發者能夠使用單一的C#程式碼庫來建立Android、iOS、macOS和Windows的原生應用。 這種方法簡化了開發並在所有平台上提供原生效能。
儘管IronWord沒有專門的Android套件,但通過.NET MAUI在Android上運行得非常順暢。 這意味著您可以輕鬆地建立在Android裝置上讀取和寫入Word文件的應用。
如何在.NET MAUI中於Android上使用IronWord
- 建立一個.NET MAUI應用專案
- 下載C#程式庫以在Android上操作Word文件
- 在MainPage.xaml中設計UI
- 在MainPage.xaml.cs中實作文件處理
- 在Android上運行您的應用
步驟1:建立您的.NET MAUI應用專案
首先開啟Visual Studio,建立一個新的.NET MAUI應用專案。 此專案型別支持從一個程式碼庫構建多平台應用。
選擇一個清晰的專案名稱,如IronWordMauiAndroid,以保持組織性。 此設置為建構原生Android應用奠定了基礎,且只需極少平台特定的程式碼。
步驟2:新增IronWord NuGet套件
IronWord可以通過其NuGet套件無縫整合到您的.NET專案中。 要通過NuGet新增IronWord,右鍵點擊您的專案,選擇管理NuGet套件。 搜索"IronWord"並安裝最新的穩定版本。
此外,您可以使用NuGet包管理器控制台通過執行以下行程式碼輕鬆新增它:
Install-Package IronWord
步驟3:在MainPage.xaml中設計UI
為了讓使用者在Android上建立和保存Word文件,您將使用XAML設計一個簡單而清晰的UI。 此介面包括:
- 一個多行文字編輯器,讓使用者可以輸入或編輯內容。
- 一個"儲存為Word文件"按鈕,用於觸發將當前文字保存為.docx文件。
- 一個狀態標籤,為使用者提供反饋或錯誤訊息。
以下是定義此佈局的XAML標記:
<?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>
步驟4:在MainPage.xaml.cs中實作文件處理
設置完UI後,您現在可以新增邏輯來處理保存文件。 在MainPage.xaml.cs中,在建構函式中設置您的IronWord授權金鑰,然後實作OnSaveWordClicked方法。
當按鈕被點擊時,應用會建立一個新的WordDocument,將編輯器中的文字作為段落新增,並保存文件。在Android上,它被保存到下載文件夾; 在其它平台上,則使用應用的快取目錄。
try-catch塊確保任何錯誤都會被捕獲並顯示在狀態標籤中。
以下是完整的工作程式碼:
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
步驟5:在Android上運行您的應用
使用Visual Studio輕鬆地將您的應用部署到Android模擬器或實體裝置上。 這可以讓您快速測試重要功能,例如打開Word文件、編輯其內容和保存任何更改。
原生Android文件選擇器的整合為使用者提供了無縫且熟悉的體驗,提高了整體的可用性。
由於IronWord完全在.NET環境中運行,無需額外的SDK或特定平台的依賴,這讓您的應用更容易開發、維護和分發。
常見問題
什麼是IronWord?
IronWord是由Iron Software開發的一個程式庫,允許開發人員在其應用中(包括使用.NET MAUI的Android應用)處理Word文件。
如何將IronWord整合到Android應用中?
您可以按照Iron Software網站上的設置說明,將IronWord整合到您的Android應用中,該說明會引導您通過在.NET MAUI項目中新增該程式庫。
使用IronWord進行Android開發的好處是什麼?
IronWord提供了一種簡單而高效的方法,讓開發人員在Android應用中讀取、寫入和操作Word文件,利用.NET MAUI的力量來實現無縫的跨平台開發。
IronWord能處理複雜的Word文件嗎?
是的,IronWord設計用於處理複雜的Word文件,包括那些包含高級格式和嵌入元素的文件,使其成為開發人員的強大選擇。
IronWord與.NET MAUI相容嗎?
是的,IronWord與.NET MAUI完全相容,允許開發人員構建包括Word文件處理功能的跨平台應用。
IronWord能處理哪些文件格式?
IronWord主要處理如DOCX和DOC的Word文件格式,提供讀取和寫入這些文件的全面功能。
IronWord支持在Android上進行文件轉換嗎?
IronWord支持文件轉換功能,允許開發人員在Android應用中將Word文件轉換為其他格式。
IronWord有試用版本嗎?
是的,Iron Software提供IronWord的免費試用版,允許開發人員在購買前探索其功能和特性。
IronWord使用者可以獲得哪些支持?
Iron Software為IronWord使用者提供全面支持,包括文件、教程和專門的支持團隊,以幫助解決任何問題。
IronWord可以用於在Android上建立Word模板嗎?
是的,IronWord可以用於建立和使用Word模板,對於需要在Android裝置上生成模板文件的應用來說相當理想。

