原标题:Android打开doc、xlsx、ppt等office文档解决方案

1、Android端有什么控件可以直接显示office文档吗?

很抱歉没有,对于ios而言想要显示office文档,直接调用控件webview即可。遗憾的是,Android虽然也有webview控件,但是该控件没有提供此类功能。

2、那么想要在Android端显示office文档有什么解决方案

①、调用第三方软件显示,这需要安卓机上安装了第三方的office软件,而且对于特别敏感的office文件,可能会泄露信息,不是特别安全

http://blog.csdn.net/qq_29678299/article/details/51108342

②、自己解析office文件并自定义控件显示,此方法避免了调用第三方office软件带来的麻烦,但是解析office文档是一项非常庞大的工作,其开发难度和复杂度类似于开发一个office app,如果只是作为项目的一个功能点,实在太过庞大。

酌情使用

③、将office文件转html格式,使用webview展示,还是同样的问题,office转html的工作太过复杂耗时,如果只是作为app的某一个功能点,可能会影响app本身的性能

http://blog.csdn.net/yjclsx/article/details/51441632

④、使用第三方的在线预览工具,该方法的解决方法是把想要解析的office文档url地址传递给第三方在线解析,然后使用webview显示即可,此方法对于app端来说确实非常有利,因为app端不需要自己进行任何解析,只是如果将自己文档的url交给第三方,依然存在安全问题

现附上两个在线预览office文档的地址:(浏览器都需要chrome的内核)

1 google:https://docs.google.com/viewer?url=(输入你的文档在服务器中的地址);

2 微软:https://view.officeapps.live.com/op/view.aspx?src=(输入你的文档在服务器中的地址);

如果您对自己的文档完全没有安全方面的考虑,建议使用微软的在线解析,亲测可用,谷歌的在国内被封了(没办法,摊手)

WebView urlWebView = (WebView) findViewById(R.id.containWebView);

urlWebView.setVisibility(View.VISIBLE);

mLvAttach.setVisibility(View.GONE);

urlWebView.setWebViewClient(newAppWebViewClients());

urlWebView.getSettings().setJavaEnabled(true);

urlWebView.getSettings().setUseWideViewPort(true);

// https://view.officeapps.live.com/op/view.aspx?src

urlWebView.loadUrl("http://view.officeapps.live.com/op/view.aspx?src=”文档在服务器的地址”);

public class AppWebViewClients extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// TODO Auto-generated method stub

view.loadUrl(url);

return true;

}

@Override

public void onPageFinished(WebView view, String url) {

// TODO Auto-generated method stub

super.onPageFinished(view, url);

}

}

微软的测试地址:

查看docx文档:http://view.officeapps.live.com/op/view.aspx?src=newteach.pbworks.com%2Ff%2Fele%2Bnewsletter.docx

查看xlsx文档:http://view.officeapps.live.com/op/view.aspx?src=http%3A%2F%2Flearn.bankofamerica.com%2Fcontent%2Fexcel%2FWedding_Budget_Planner_Spreadsheet.xlsx

查看PPT文档:http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fbuild%2f2011%2fslides%2fTOOL-532T_Sutter.pptx http://www.cnblogs.com/wuhuacong/p/3871991.html http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fbuild%2f2011%2fslides%2fTOOL-532T_Sutter.pptx http://www.cnblogs.com/wuhuacong/p/3871991.html

3、最优解决方案

①、期待大神仿ios写一个Android的webview控件可直接显示office文档(我猜测是浏览器内部对office的解析~)。同理,期待谷歌早日提供一个类似于ioswebview的控件(明明是很重要的功能呀,谷歌为啥一直不提供呢,奇怪)

②、求人不如求己,自己实现一套方案吧

根据上文的分析,其实我们可以仿造微软和谷歌的解决方式

即服务端将office文档显示在html界面(而不是提供下载),Android端使用webview加载

该方法的优点:安全、客户端不需要写大量代码

思路:

1、html界面借助插件展示office文档(对html了解不深,网上有这类做法)

2、服务端将office文档转为html格式,客户端借助webview显示

android在线预览excel文件格式,Android打开doc、xlsx、ppt等office文档解决方案相关推荐

  1. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件

    前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...

  2. 关于Android 在线预览PDF文件

    本篇文章大部分为转载内容,不过最后有我自己使用后的小总结,原文地址:https://www.jianshu.com/p/9e3ff8385e6f Android PdfViewer: 项目地址: ht ...

  3. luckysheet+luckyexcel在线预览excel

    luckysheet,是一款纯前端的在线excel,功能强大,完全开源 如果在线预览excel的需求,可以使用xlsx插件,但是这个插件只能解析表格中的数据,如果表格中的样式和数据都要解析出来,就需要 ...

  4. android 在线预览pdf文件

    android原生webView不支持预览pdf文件,ios却可以,所以android想要实现在线预览webView要通过其他方法,有以下几种方法: 1.andorid原生自带的pdf管理库,主要提供 ...

  5. HTML实现在线预览Excel,word,ppt

    使用office提供的在线预览功能 https://view.officeapps.live.... src后面接你需要预览的文件下载地址. 如果不能实现预览功能,提示报错 请检查http返回的Con ...

  6. 如何在谷歌Chrome新版浏览器中打开并编辑Word/Excel/PPT等Office文档?(视频演示)

    如何在谷歌Chrome新版浏览器中打开并编辑Word/Excel/PPT等Office文档?

  7. 如何在Web页面上直接打开、编辑、创建Office文档 (转载)

    有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人 ...

  8. [ZZ]如何在Web页面上直接打开、编辑、创建Office文档

    [作者:kaneboy,来源:博客堂] 有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在 ...

  9. Android在线预览音乐、视频、pdf、word、Excel

    本篇博客只是记录简单的打开预览,不涉及深层的自定义界面或者重写控件展示,望知晓. ①打开音视频-VideoView ------解决VideoView不能全屏的问题 <RelativeLayou ...

最新文章

  1. Pandas基础用法合集(中文官档)
  2. MATLAB 的运算符
  3. linux中rev命令详解,详解Linux中输出文件内容的rev与tac命令使用
  4. 清理cin输入缓冲区_输入缓冲区究竟有啥秘密?
  5. java泛型不是计算运行时的数据类型
  6. printstream_Java PrintStream clearError()方法与示例
  7. 什么是分布式_什么是分布式系统,如何学习分布式系统?
  8. Lua脚本实现检查外业核查地类图斑
  9. 我是做Java的,刚入职了,月薪20k,面试题还是很管用的
  10. 三个点在同一个半圆的概率_圆中四鸭属于一个半圆的概率
  11. android 输入框失去焦点,AutoCompleteTextView默认首次失去焦点
  12. 大平台时代到来 基金电商寻求突围
  13. 吉吉影音播放器v2.7.2.4官方版
  14. PLC通过智能网关,实现HTTP协议的POST请求,与服务端JSON格式双向通讯
  15. ubuntu下查看opencv版本
  16. 彼岸花开开彼岸 奈何桥前可奈何 作者:天涯游子
  17. VScode 中查看本地ip地址
  18. 深入理解以太坊 P2P 网络设计
  19. SCUT01在线协作白板技术解决方案
  20. SAP MM ME57 把PR转成PO

热门文章

  1. ERROR:Xst:899--FPGA ERROR
  2. 如何在Axure软件中实现图片移入缩小
  3. 人工智能机器人的可操作性应用法则
  4. GIS空间分析 数字地形分析5 水文分析
  5. 信息化技术在农业上的应用
  6. Android 文件打开方式
  7. cpu上干硅脂怎么清理_被骗很久!这才是给CPU涂硅脂正确方法...
  8. 樱陀花园10月份活动策划
  9. Flask后端实践 连载十八 Flask输出PDF报表
  10. 牛客网 KY6 手机键盘