Android平台中,可以使用以下几种方式打开Word和Excel文档:

预览图:

一:直接上传给第三方之后用webview打开

1、微软:

https://view.officeapps.live.com/op/view.aspx?src=文件链接

2、XDOC文档预览服务

http://www.xdocin.com/xdoc?_func=to&_format=html&_cache=true&_xdoc=文件链接

上面两个链接可以直接放在webview进行加载。

缺点:文档相当于传递给了第三方,安全性无法保证

二:使用腾讯的X5内核打开

初始化:

        // 设置允许移动网络下进行内核下载。默认不下载QbSdk.setDownloadWithoutWifi(true);QbSdk.initX5Environment(this, new PreInitCallback() {@Overridepublic void onCoreInitFinished() {// 内核初始化完成,可能为系统内核,也可能为系统内核}@Overridepublic void onViewInitFinished(boolean isX5) {Log.e(TAG, "onViewInitFinished: " + isX5);}});

在使用的地方打开文件:

  Bundle localBundle = new Bundle();localBundle.putString("filePath", file.toString());localBundle.putString("tempPath",tbsReaderTemp);if (tbsReaderView == null){tbsReaderView = getTbsView();}//判断是否可以打开文件类型boolean result = tbsReaderView.preOpen(FileUtil.getFileType(file.toString()), false);Toast.makeText(getApplicationContext(), "预加载结果:" + result, Toast.LENGTH_SHORT).show();if (result) {tbsReaderView.openFile(localBundle);}

官方文档:

腾讯浏览服务

三:使用系统默认的应用打开文档

Android系统默认安装了一些应用,例如WPS Office等,这些应用可以打开常见的Word和Excel文档。如果用户在系统中已经安装了这些应用,可以通过以下代码打开一个文件:

java复制代码

String filePath = "/sdcard/test.docx"; Uri uri = Uri.parse("file://" + filePath); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(uri); startActivity(intent);

上述代码中,filePath是需要打开的文件路径。使用Uri.parse()方法将其转换成Uri类型,并使用Intent.setAction()方法设置该Intent的操作为ACTION_VIEW。最后使用startActivity()方法启动这个Intent,系统就会根据文件的类型选择合适的应用打开这个文档。

四:使用第三方SDK打开文档

除了系统默认的应用,还可以集成第三方的SDK来打开Word和Excel文档,例如Microsoft Office相关的SDK。这种方式需要开发者首先注册Microsoft的开发者账号,并在开发者控制台中获取相关的权限和应用ID等。在APP中集成SDK之后,可以通过以下代码打开一个文件:

java复制代码

String filePath = "/sdcard/test.docx"; Uri uri = Uri.parse("file://" + filePath); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(uri); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); intent.setClassName("com.microsoft.office.word", "com.microsoft.office.word.DocumentActivity"); startActivity(intent);

上述代码中,需要注意的是setClassName()方法,该方法用于设置应用的包名和Activity类名,以便启动对应的应用。此外,还需要添加FLAG_GRANT_READ_URI_PERMISSION和FLAG_GRANT_WRITE_URI_PERMISSION权限,以便应用在打开文件时获取文件读写的权限。

资源下载:https://download.csdn.net/download/YDHIT/87921351

APK:DownLoad

个人中心

Android 应用内打开Word、Excel、PPT、PDF等文档相关推荐

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

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

  2. Vue 预览word,excel,ppt等office文档-内网访问(基于onlyoffice,后端返回文件流)

    Vue 预览word,excel等office 先看效果!! 需求背景:在前端页面中预览office文件且是内网访问,服务器不可访问外网的前提. 因此微软的接口就废掉了,因为他接口的条件是可以访问外网 ...

  3. Java准确获取Word/Excel/PPT/PDF的页数(附Word页数读不准的处理办法)

    Java准确获取Word/Excel/PPT/PDF的页数(附Word页数读不准的处理办法) 1.需求背景 2.环境准备工作 2.1 JACOB介绍及安装 2.2 Microsoft Office W ...

  4. C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)6 -将项目部署到IIS,及常见错误解决方案

    C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)6 -将项目部署到IIS,及常见错误解决方案 1.前言 2.安 ...

  5. 服务器保存时提示文档未保存文件格式,,EXCEL另存为PDF提示:文档未保存

    excel另存为pdf,保存类型里怎么添加Pdf型式? 新版本的直接里面就有这个选项,老版本的可以在网上搜索Excel转pdf插件即可(有pdf虚拟打印机的也可以直接选择打印成pdf,不需要安装插件) ...

  6. 性能优化之通过Aspose组件将Word/Excel/PPT/PDF转成HTML文件,解决大附件预览性能问题

    在最近的一个项目中,遇到一个非常棘手的性能问题,场景是这样的:有PC端和手机端两个应用,用户在PC端上传的附件,如word,Excel,pdf等,当用户出差或不在电脑边上时,上传的附件在手机端能够打开 ...

  7. lucent检索技术之创建索引:使用POI读取txt/word/excel/ppt/pdf内容

    在使用lucent检索文档时,必须先为各文档创建索引.索引的创建即读出文档信息(如文档名称.上传时间.文档内容等),然后再经过分词建索引写入到索引文件里.这里主要是总结下读取各类文档内容这一步. 一. ...

  8. 关于在线预览word,excel,ppt,pdf的需求处理方法。

    参考文档:http://www.cnblogs.com/wolf-sun/p/3574278.html 我选用的方案:先用office com组件生成pdf,然后使用pdf.js在线预览pdf文档.在 ...

  9. php word excel转pdf文件怎么打开,php office文件(word/excel/ppt)转pdf文件,pptpdf

    php office文件(word/excel/ppt)转pdf文件,pptpdf 把代码放到了github上,点击进入 前阶段有个项目用到了线上预览功能, 关于预览office文件实现核心就是,把o ...

最新文章

  1. 裁剪图像周围空白区域_零基础PS纠正倾斜的图像效果
  2. soap php 分开类,将请求处理到同一PHP SOAP服务器中的多个类
  3. 用触发器实现SQLite的外键约束
  4. php的全局p变量程序_php如何定义全局变量
  5. SpringBoot生成日志文件---logback和log4j
  6. Spring整合Mybatis-完成用户登录
  7. unity 渐变消失_Unity3D实现渐变颜色效果|chu
  8. virtualbox虚拟机安装Ubuntu异常处理:FATAL: NO bootable medium found! System halted
  9. php mysql查询出来二叉树的数据_tp框架怎么实现二叉树查询 如图,查询数据库中小明下面的所有人。到底下面多少人,不清楚。 代码如何实现...
  10. html天猫倒计时代码,怎么用JavaScript编写一个天猫上使用的倒计时?
  11. 94-《纪元2205》游戏体会.(2015.11.12)
  12. 计算机的改错键是什么符号,对号和错号在键盘上怎么输入?
  13. 代码审查工具 phabricator 使用学习
  14. 七雄Q传封包辅助技术探讨回忆贴
  15. 15种微信小程序运营推广方法
  16. nvme固态必须uefi启动吗_戴尔Inspiron 灵越笔记本装win10系统及bios设置教程(uefi+gpt)...
  17. iphoneXR的tabbar底部图片的适配
  18. lesson3 肥胖计算器
  19. day19Java-IO-IO结合集合练习
  20. js中escape和unescape方法

热门文章

  1. Windows 性能选项-视觉效果 优化设置
  2. 闲鱼如何通过Push升级,更懂你?
  3. 怎么判断噎到没噎到_吃东西噎住了怎么办?这个救命的动作一定要知道!
  4. 不坑盒子 (Office、WPS插件)高效办公,让你提前进入摸鱼状态。
  5. Mac OS下Appium环境搭建及Genymotion模拟器安装
  6. 分布式集群架构解决方案
  7. C#线程(二)线程同步
  8. android 系统升级 方法,Android 系统升级的对话框
  9. 单片机实验报告太原理工大学_2011级应用物理专业单片机原理及应用课程设计答辩会...
  10. docker-compose up之Windows named pipe error:(code: 2)