Android で .NET MAUI を使用して Word 文書を読み書きする方法
.NET MAUI (Multi-platform App UI) を使用すると、単一のC#コードベースでAndroid、iOS、macOS、およびWindows向けのネイティブアプリを開発できます。 このアプローチは開発を簡素化し、すべてのプラットフォームでネイティブのパフォーマンスを提供します。
IronWordには専用のAndroidパッケージはありませんが、.NET MAUIを通じてAndroidでスムーズに動作します。 つまり、Androidデバイス上でWordドキュメントを読み書きするアプリを容易に構築できます。
.NET MAUI で Android 上の IronWord を使用する方法
- .NET MAUI アプリ プロジェクトを作成する
- Android で Word 文書を操作するための C# ライブラリをダウンロードする
- MainPage.xaml で UI を設計する
- MainPage.xaml.cs でドキュメント処理を実装する
- Androidでアプリを実行する
ステップ1:.NET MAUI App Projectを作成する
Visual Studioを開き、新しい.NET MAUI Appプロジェクトを作成することから始めます。 このプロジェクトタイプは、1つのコードベースから複数のプラットフォーム向けアプリの構築をサポートしています。
効率的に整理するために、IronWordMauiAndroidのような明確なプロジェクト名を選びましょう。 この設定は、プラットフォーム固有のコードを最小限に抑えてネイティブAndroidアプリの基盤を築きます。
ステップ2:IronWord NuGetパッケージを追加する
IronWordは、そのNuGetパッケージを通じて.NETプロジェクトにシームレスに統合できます。 NuGetを介してIronWordを追加するには、プロジェクトを右クリックして"NuGetパッケージの管理"を選択します。 "IronWord"を検索し、最新の安定版をインストールします。
あるいは、NuGetパッケージマネージャコンソールを使用して次の行を実行することで簡単に追加できます:
Install-Package IronWord
ステップ3:MainPage.xamlでUIを設計する
AndroidでユーザーがWordドキュメントを作成し保存できるように、XAMLを使用してシンプルでクリーンなUIを設計します。 このインターフェイスには以下が含まれます:
- ユーザーがコンテンツを入力または編集できるマルチラインテキストエディタ。
- 現在のテキストを.docxファイルとして保存する"Wordドキュメントとして保存"ボタン。
- ユーザーにフィードバックやエラーメッセージを提供するステータスラベル。
このレイアウトを定義する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は、開発者がアプリケーション内でWordドキュメントを操作できるようにするIron Softwareによって開発されたライブラリであり、.NET MAUIを使用するAndroidアプリも含まれています。
IronWordをAndroidアプリケーションに統合するにはどうすれば良いですか?
Iron Softwareのウェブサイトのセットアップ手順に従うことで、.NET MAUIプロジェクトにライブラリを追加し、AndroidアプリケーションにIronWordを統合することができます。
Android開発においてIronWordを使用するメリットは何ですか?
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デバイスでのテンプレートドキュメント生成を必要とするアプリケーションに最適です。






