Android Microsoft Office Library (.doc, .docx, .xls, .ppt, etc.)
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.
Embedding Office files (.doc, .ppt, .xls) in my Android App
There is Apache POI
.
The Apache POI Project's mission is to create and maintain Java APIs
for manipulating various file formats based upon the Office Open XML
standards (OOXML) and Microsoft's OLE 2 Compound Document format
(OLE2).
Then, there is Aspose
which offers APIs to work with MS Office and other documents like PDF, etc.
What is a correct MIME type for .docx, .pptx, etc.?
Here are the correct Microsoft Office MIME types for HTTP content streaming:
Extension MIME Type
.doc application/msword
.dot application/msword
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm application/vnd.ms-word.document.macroEnabled.12
.dotm application/vnd.ms-word.template.macroEnabled.12
.xls application/vnd.ms-excel
.xlt application/vnd.ms-excel
.xla application/vnd.ms-excel
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xlsm application/vnd.ms-excel.sheet.macroEnabled.12
.xltm application/vnd.ms-excel.template.macroEnabled.12
.xlam application/vnd.ms-excel.addin.macroEnabled.12
.xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12
.ppt application/vnd.ms-powerpoint
.pot application/vnd.ms-powerpoint
.pps application/vnd.ms-powerpoint
.ppa application/vnd.ms-powerpoint
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.potx application/vnd.openxmlformats-officedocument.presentationml.template
.ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow
.ppam application/vnd.ms-powerpoint.addin.macroEnabled.12
.pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12
.potm application/vnd.ms-powerpoint.template.macroEnabled.12
.ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12
.mdb application/vnd.ms-access
For further details check out this TechNet article and this blog post.
Related Topics
Dx Bad Class File Magic (Cafebabe) or Version (0033.0000) with Adk14
Android Microsoft Office Library (.Doc, .Docx, .Xls, .Ppt, etc.)
How to Properly Implement Parcelable with an Arraylist<Parcelable>
Android Httppost: How to Get the Result
How to Use Interceptor to Add Headers in Retrofit 2.0
Inside Onclicklistener I Cannot Access a Lot of Things - How to Approach
Android: Clickablespan in Clickable Textview
Java_Home Is Set to an Invalid Directory:
Android: How to Parse Url String with Spaces to Uri Object
Which Jdk Version (Language Level) Is Required for Android Studio
Android Coding with Switch (String)
Navigation View Items Will Not Respond When Pressed
How to Save Image File in Android Oreo Update. How to Do It