We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to create Word document in Xamarin.Android

Platform: Xamarin.Android |
Control: DocIO |
Published Date: November 26, 2018 |
Last Revised Date: April 25, 2019

Syncfusion Essential DocIO is a Xamarin Word library used to create, read, and edit Word documents programmatically without Microsoft Word or interop dependencies. Using this library, you can create a Word document in Xamarin.Android.

Steps to create Word document programmatically:

  1. Create a new C# Xamarin Android application project.

Create Xamarin.Android application in Visual Studio

  1. Select a project template and minimum android version for the application.

Create new Blank Android app

  1. Install Syncfusion.Xamarin.DocIO NuGet package as a reference to the .NET Standard project in your Xamarin application from NuGet.org.

Add DocIO NuGet package reference to the project

  1. In Main.axml add the new button and define the click event to generate the Word file.

i)In Main.axml page add the following code to add the button

AXML

<Button
   android:id="@+id/MyButton"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"/>

ii)In MainActivity.cs file add the following code to define the click event to generate Word file.

C#

protected override void OnCreate(Bundle savedInstanceState)
{
  base.OnCreate(savedInstanceState);
  // Set our view from the "main" layout resource
  SetContentView(Resource.Layout.activity_main);
  Button button = FindViewById<Button>(Resource.Id.MyButton);
  button.Text = "Create Word";
  button.Click += OnButtonClicked;
}
  1. Include the following namespace in the MainActivity.cs file.

C#

using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
  1. In the click event method (OnButtonClicked) add the following code to create a Word file and save it in a stream.

C#

async void OnButtonClicked(object sender, EventArgs e)
{
    //Creates a new instance of WordDocument (Empty Word Document)
    using (WordDocument document = new WordDocument())
    {
        //Adds a section and a paragraph to the document
        document.EnsureMinimal();
        //Appends text to the last paragraph of the document
        document.LastParagraph.AppendText("Hello World");
        MemoryStream stream = new MemoryStream();
        //Saves the Word document to stream in DOCX format. 
        document.Save(stream, FormatType.Docx);
        //Saves the stream as a file in the device and invoke it for viewing
        SaveAndroid androidSave = new SaveAndroid();
        await androidSave.SaveAndView("Result.docx", "application/msword", stream, this);
    }
}
  1.  Add the SaveAndroid class to the project where the stream will be saved to a physical file and the file can be opened for viewing.

The code for SaveAndroid class has been given below.

C#

class SaveAndroid
{
  //Method to save document as a file in Android and view the saved document
  public async Task SaveAndView(string fileName, String contentType, MemoryStream stream, AppCompatActivity activity)
  {
    string root = null;
    //Get the root path in android device.
    if (Android.OS.Environment.IsExternalStorageEmulated)
    {
      root = Android.OS.Environment.ExternalStorageDirectory.ToString();
    }
    else
        root = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 
    //Create directory and file 
    Java.IO.File myDir = new Java.IO.File(root + "/Syncfusion");
    myDir.Mkdir();
 
    Java.IO.File file = new Java.IO.File(myDir, fileName);
 
    //Remove if the file exists
    if (file.Exists()) file.Delete();
 
    //Write the stream into the file
    FileOutputStream outs = new FileOutputStream(file);
    outs.Write(stream.ToArray());
 
    outs.Flush();
    outs.Close();
 
    //Invoke the created file for viewing
    if (file.Exists())
    {
      Android.Net.Uri path = Android.Net.Uri.FromFile(file);
      string extension = Android.Webkit.MimeTypeMap.GetFileExtensionFromUrl(Android.Net.Uri.FromFile(file).ToString());
      string mimeType = Android.Webkit.MimeTypeMap.Singleton.GetMimeTypeFromExtension(extension);
      Intent intent = new Intent(Intent.ActionView);
      intent.AddFlags(ActivityFlags.NewTask);
      intent.SetDataAndType(path, mimeType);
      activity.StartActivity(Intent.CreateChooser(intent, "Choose App"));
    }
  }
}

 

  1. Compile and execute the application. Now this application creates a simple Word document.
Note:

For the Word document to be read and written in the android device, the storage permission must be given for the deployed application. To read/write with the external storage location enable the required permissions in Android Manifest.

Add read, write permission in Android manifest

A complete working example to create Word document in Xamarin.Andriod can be downloaded from Create-Word-file.zip.

Take a moment to peruse the documentation, where you can find basic Word document processing options along with features like merge and split documents, find and replace text in the Word document, and most importantly PDF conversions with code examples.

Explore more about the rich set of Syncfusion Word Framework features.

An online example to generate or create Word document.

See Also:

Create Word document in Windows Forms

Create Word document in WPF

Create Word document in ASP.NET Core

Create Word document in ASP.NET MVC

Create Word document in Xamarin

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

2X faster development

The ultimate Xamarin UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile