妹子我写代码很辛苦/(ㄒoㄒ)/~~ ,转载请标明出处哦~http://blog.csdn.net/u011791526/article/details/73088768

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=(输入你的文档在服务器中的地址);

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

  1. WebView urlWebView = (WebView) findViewById(R.id.containWebView);
  2. urlWebView.setVisibility(View.VISIBLE);
  3. mLvAttach.setVisibility(View.GONE);
  4. urlWebView.setWebViewClient(new AppWebViewClients());
  5. urlWebView.getSettings().setJavaScriptEnabled(true);
  6. urlWebView.getSettings().setUseWideViewPort(true);
  7. // https://view.officeapps.live.com/op/view.aspx?src
  8. urlWebView.loadUrl("http://view.officeapps.live.com/op/view.aspx?src=”文档在服务器的地址”);
  9. public class AppWebViewClients extends WebViewClient {
  10. @Override
  11. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  12. // TODO Auto-generated method stub
  13. view.loadUrl(url);
  14. return true;
  15. }
  16. @Override
  17. public void onPageFinished(WebView view, String url) {
  18. // TODO Auto-generated method stub
  19. super.onPageFinished(view, url);
  20. }
  21. }

微软的测试地址:

查看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显示

office转html可参考我另外一篇文章使用POI将office文件转html格式(附带源码)

Android打开doc、xlsx、ppt等office文档解决方案的更多相关文章

  1. Office文档在线编辑的实现之二

    讲述了如何通过iis的webdav支持实现客户端的office直接编辑服务器上的文件,本篇将讲解如何实现客户端的office直接编辑数据库中的二进制形式保存的office文件. 实现的关键:模拟IIS ...

  2. OFFICE文档(DOC,XLS,PPT)打开报错的解决办法!

    一般情况下,打开OFFICE文档报错都是因为模板文件出错!! 至于为什么会出错这个问题不好说,可能是不正确关闭文档等等,重装OFFICE也不一定能解决问题! 出现这种情况一般是所有的Word文档或者E ...

  3. VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)

    原文:VSTO 得到Office文档的选中内容(Word.Excel.PPT.Outlook) 目的:得到在Word.Excel.PPT.Outlook中选中的一段内容. Word: private ...

  4. 怎么在线预览.doc,.docx,.ofd,.pdf,.wps,.cad文件以及Office文档的在线解析方式。

    前言 Office文件在线预览是目前移动化办公的一种新趋势.Office在线预览指的是Office系列的文件在线查看而不依附域客户端的存在.在浏览器或者浏览器控件中可以预览查看Word.PDF.Exc ...

  5. OFFICE 文档转换为html在线预览

    OFFICE 文档在线预览方案很多: 服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexpaper Office文档直接转换为SWF,通过网页加载Flash预览 微软的 ...

  6. office 文档转pdf

    本地先安装 金山wps,并确保可用 工程目录 1.使用前,先执行install.bat 安装jacob 到maven本地仓库 2.复制 jacob-1.18-M2-x64.dlljacob-1.18- ...

  7. 使用微软提供的Office Online实现Office文档的在线查看,编辑等功能

    使用微软提供的Office Online平台只需要一个网址即可在线查看Xls,doc,PPT等文档 http://view.officeapps.live.com/op/view.aspx?src=要 ...

  8. 基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...

  9. [转载]基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览

    在博客园很多文章里面,曾经有一些介绍Office文档预览查看操作的,有些通过转为PDF进行查看,有些通过把它转换为Flash进行查看,但是过程都是曲线救国,真正能够简洁方便的实现Office文档的预览 ...

随机推荐

  1. BZOJ3945 : 无聊的邮递员

    因为两个人方案的对称性,可以将$k$除以$2$,转化为在$n-1$个间隔中设置若干断点,求第$k$小的增量. 对于选中的相邻的断点$(a,a+1)$和$(b,b+1)$,增量为$|x_a-x_{b+1 ...

  2. C Windows控制台字符版本俄罗斯方块

    //一个可以工作在Windows控制台字符界面下的俄罗斯方块 //工作在非图形模式,无需其他库依赖,单个C文件代码即可运行 //支持最高纪录,并且对于纪录进行了加密 //By wrule 2015年1 ...

  3. unity 动画无法正常播放Animation的动画问题

    1,百度得来的一种方案,留作备用: 有一个区别的地方在于新建动画之前,选中物体身上有无Animation组件: 1.没有的话,选中物体,打开Animation窗口,新建,会出现一个animation一 ...

  4. layer.load的使用

    在ajax请求和回调返回的过程中,我们一般都要用到layer.load这个方法 例如: //loading层 var index = layer.load(1, { shade: [0.1,'#fff ...

  5. Java基础知识总结--String、StringBuffer、StringBuilder

    1.Java String 类 String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法.在Java中,被final修饰的类是不允许被继承的,并且该类中 ...

  6. 学习Struts--Chap01:了解Struts2

    学习之前的一些话: 这是我系统学习Java知识这么久以来第一次接触web框架,很不幸的是刚开始学习它就听到很多人说这个框架现在已经过时了,很多企业现在开发项目几乎不会用这个框架了,就是有用这个框架的项 ...

  7. 重新看待Jar包冲突问题及解决方案

    Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除.依赖管理 ...

  8. keras 的svm做分类

    SVC继承了父类BaseSVC SVC类主要方法: ★__init__() 主要参数: C: float参数 默认值为1.0 错误项的惩罚系数.C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确 ...

  9. YUV420、YUV422、RGB24转换

      //平面YUV422转平面RGB24static void YUV422p_to_RGB24(unsigned char *yuv422[3], unsigned char *rgb24, int ...

  10. VB编写的程序加入防火墙的例外中

    在工程中要先引入: NetCon 1.0 Type Library NetFwTypeLib Option Explicit Const NET_FW_SCOPE_ALL = 0 Const NET_ ...