Android Microsoft Office Library (.doc, .docx, .xls, .ppt, Etc.)


Answer :

Since most of the documents we need to display are already hosted on the web, we opted to use an embedded web view that opens the document using google docs viewer.

We still have a few locally stored documents though that this approach doesn't work with. For these, our solution was to rely on the support of existing apps. After spending some more time with Android, It seems that most devices come equipped with some sort of document/pdf reading capability installed fresh out of the box. In the event that they don't have a capable app, we direct them to a market search for a free reader.


Unfortunately there's no built in Android control to edit MS Office files, or even to display them! It's a pretty big omission given iOS has built in support for displaying Office files. There don't seem to be viewer app consistently enough available to rely on (and they may not provide the kind of user experience you're hoping for either).

If you want to display or edit docx etc within your android application, you have to embed some third party code that adds this functionality. I'm not aware of any pre-packaged open source code that can do this, so unless you want to build/port a solution yourself you will need to commercially license something.

As others have noted, there are some open source projects in this area, but they're not packaged/ported to Android. If you did manage to get them ported and integrated, they'd add a huge overhead to your Android app download (eg. 80+ megabytes) and you'd need to then add a mobile suitable UI for them (see https://play.google.com/store/apps/details?id=com.andropenoffice&hl=en_GB for an example of a port with ui that I personally think is not suitable/user friendly for an Android application.)

One such SDK that I'm familiar with which solves this problem is based on the SmartOffice application:

https://artifex.com/products-smart-office-overview/

It's available as an secure embeddable library that supports both display and (optionally) editing of Office documents. You can contact sosales@artifex.com for licensing information.

Disclosure: One of my jobs involves working on the SmartOffice code.


Most of the Microsoft Document viewers are heavy and expensive.

If you want to create a viewer yourself, you should take a look at Apache POI.


Comments

Popular posts from this blog

Converting A String To Int In Groovy

"Cannot Create Cache Directory /home//.composer/cache/repo/https---packagist.org/, Or Directory Is Not Writable. Proceeding Without Cache"

Android How Can I Convert A String To A Editable