通过 API 在我的 Android 应用程序中查看 Excel 文件

2024-04-05

我想在我自己的 Android 应用程序中查看 Excel 文件。

目前,使用我的应用程序我可以看到所有谷歌文档。但是在单击任何一个文档(例如 Excel 文件“myDemo.xls”)后,我想在我自己的应用程序中打开它(用于查看目的)。

我读过关于jxl http://www.vogella.com/tutorials/JavaExcel/article.html但问题是它解析 xls 文件并且该文件应该存储在 SD 卡中。

就我而言,它存储在谷歌驱动器中。 (不在 SD 卡上)

Here https://stackoverflow.com/questions/7170180/viewing-excel-files-in-my-android-app是类似的问题。

有没有其他方法可以通过任何其他 API 查看 xls 文件。

任何帮助将不胜感激。

Thanks

我已经用过WebView http://developer.android.com/reference/android/webkit/WebView.html为了达成这个。

但问题是,通过使用 webview 我无法更新谷歌文档。

我希望用户通过 webview 使用我的应用程序更新谷歌文档。

下面是我迄今为止尝试过的代码,

MainActivity.java

public class MainActivity extends ActionBarActivity {

WebView wbView1;

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    wbView1=(WebView)findViewById(R.id.webView1);
    wbView1.getSettings().setLoadsImagesAutomatically(true);
    wbView1.getSettings().setJavaScriptEnabled(true);
    wbView1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    wbView1.getSettings().setBuiltInZoomControls(true);
    wbView1.getSettings().setSupportZoom(true);
    wbView1.getSettings().setAllowContentAccess(true);
    wbView1.setWebViewClient(new MyBrowser());

    }

// Button on clicking on which I am loading google docs url in WebView.
public void onButtonClick(View v) {
    wbView1.loadUrl("https://docs.google.com/spreadsheets/d/15L4VenowOI0WPO52ASSjRgf90LcNxuJg8VF87_DtTp8/edit#gid=1311977634");

    return;
}


public class MyBrowser extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
       view.loadUrl(url);
       return true;
    }
    @Override
    public void onPageFinished(WebView view, String url) 
    {       
        view.loadUrl("javascript:document.forms[0].q.value='[android]'"); 
    }

 }

}

活动_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.webviewdemo.MainActivity"
tools:ignore="MergeRootFrame" >

<WebView
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight=".4" 
    android:clickable="true"/>

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="onButtonClick"
    android:text="Button" />

</LinearLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.webviewdemo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.webviewdemo.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

是否可以在 WebView 中编辑 google 文档,或者编辑文档需要 Google Drive API?

我真的很困惑。请帮忙。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 API 在我的 Android 应用程序中查看 Excel 文件 的相关文章

  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • 无法使用 VBA 代码从 Excel 连接到 Teradata - 无法通过网络访问 Teradata 服务器

    我一直在尝试使用 vba 代码从 Excel 连接到 Teradata 但收到以下错误 无法通过网络访问 Teradata Server 我已经能够从 Teradata SQL 助手成功连接 并且还成功 ping 通 Teradata 服务
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 使用 XMLHTTP 进行抓取会在特定类名处引发错误

    我正在尝试使用此代码抓取网站以提取姓名和联系人 Sub Test Dim htmlDoc As Object Dim htmlDoc2 As Object Dim elem As Variant Dim tag As Variant Dim
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 无法创建类型“Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,Common.Logging.Log4Net”

    我在解决方案中有包含其他类库的 WCF 项目 我使用 nuget 包管理器为需要日志记录的项目添加了 Common Logging 我收到此错误 无法创建类型 Common Logging Log4Net Log4NetLoggerFact
  • CakePHP:用 save() 进行加/减?

    我试图通过 Cake 的 save 函数简单地执行以下操作 UPDATE user SET value value 1 不过 好像只能设定 它不会理解我传递给它来增加或减少的任何内容 并且互联网上似乎没有人遇到这个问题 P 即使在浏览某人在
  • 将 props 传递给 React-Redux 容器组件

    我有一个在 React Native Navigator 组件中创建的 React Redux 容器组件 我希望能够将导航器作为道具传递给该容器组件 以便在其演示组件内按下按钮后 它可以将对象推送到导航器堆栈上 我想做到这一点 而不需要手动
  • 将 LINQPad 连接到远程 SQL Server

    免责声明 我知道这个问题是非常基本的 但我无法在谷歌或这里找到答案 并且无法通过猜测的配置自己完成 我想开始使用 LINQPad 并且我在同一域的不同计算机上安装了 SQL Server 2005 但我无法从 LINQPad 连接到该服务器
  • SQLAlchemy会话和连接关系

    是否使用相同的 SQLAlchemy 执行查询session对象使用相同的底层连接 如果没有 有没有办法保证这一点 一些背景 我需要使用 MySQL 的命名锁功能 即GET LOCK and RELEASE LOCK 功能 就MySQL服务
  • 从 VSS 获取给定日期的所有文件?

    有没有办法让 Visual source safe 获取项目给定日期的所有文件 我们不使用标签 所以我无法回滚到特定标签 并且希望我可以以某种方式调用某个日期范围来获取特定日期存在的文件 不可能的 据我所知你必须使用get http msd
  • 使用cv2.imread:“ returned NULL without set an error”,好像无法打开图片或获取数据

    这是我的代码中出现问题的部分 它应该计算图片中绿色像素的数量 img Image open path tif BLACK MIN np array 0 20 20 np uint8 BLACK MAX np array 120 255 25
  • 如何记录 PostgreSQL 查询?

    如何启用 PostgreSQL 8 3 执行的所有 SQL 的日志记录 已编辑 更多信息 我改变了这些行 log directory pg log log filename postgresql Y m d H M S log log st
  • Eclipse:更改ctrl+shift+/的块注释样式

    The keyboard shortcut ctrl shift produces comments in the format of comment 如何更改快捷方式 以便在星号前后添加空格 comment 非常感谢 I m afraid
  • 如何在 Node.js 中列出 cloudinary 文件夹中的所有图像/视频?

    我是新手Node js 我已经开始通过克隆来构建一个应用程序云数示例项目来自github https github com cloudinary cloudinary npm 然后我将工作目录更改为 photo album 并安装了应用程序
  • 将txt文件的内容分解为数组

    我在分解 txt 文件的内容时遇到问题 结构如下 01Name 1 02whatever contents 03whatever contents 01Name 2 02whatever contents 03whatever conten
  • 将变量从 flash 传递到 HTML/php

    我希望也许有人可以对我很难决定如何解决的问题提供一些见解 我有一个相当简单的 Flash 应用程序 用户可以在连接时快速创建一个用户名 并且该用户名是在 Flash swf 内创建的 现在 我有一个 cron 作业 每十分钟删除一次不活动的
  • 用于 bean 验证的自定义验证消息

    我正在创建一个 JSF 2 应用程序 并且尝试在 bean 中而不是 faces page 中使用表单验证 我还想使用 properties 文件来存储消息 我在看这个问题 https stackoverflow com questions
  • 卸载后取消 Redux 操作

    我想在组件卸载后取消一些功能 因为它会导致内存泄漏我的代码如下所示 componentDidUpdate prevProps if prevProps org org this props org org this mounted this
  • 如何使用 Perl SOAP 获取 JIRA 中的自定义字段列表?

    我很好奇是否有其他人知道如何获取您在 JIRA 中创建的所有自定义字段的列表 如果是这样 你是怎么做到的 我一直在尝试使用我在上找到的 Perl SOAP 例程JIRA SOAP 服务文档 http docs atlassian com s
  • Phonegap - 无法从服务器下载存档

    我正在尝试从我的 Phonegap Developer 应用程序运行电话间隙应用程序 但出现错误 无法从服务器下载存档 我正在连接到电话间隙桌面应用程序中显示的 IP 地址 PhoneGap 桌面应用程序显示消息 服务器正在运行http 1
  • 使用自定义键进行数组拼接

    假设我有这个代码 test array test zero abc test two ghi test three jkl dump test array splice test 1 0 def dump test 这给了我输出 Array
  • EF Core 中的 modelBuilder.Configurations.AddFromAssembly

    In EntityFramework 6 x 如果我们有很多EntityConfiguration那么我们可以将它们全部分配给OnModelCreating ModelBuilder modelBuilder 不一一列举如下 protect
  • MVC RadioButtonFor 组

    我有一个 PDF 课程 public class UIClonePDFDetail public int CatalogueID get set public List
  • 通过 API 在我的 Android 应用程序中查看 Excel 文件

    我想在我自己的 Android 应用程序中查看 Excel 文件 目前 使用我的应用程序我可以看到所有谷歌文档 但是在单击任何一个文档 例如 Excel 文件 myDemo xls 后 我想在我自己的应用程序中打开它 用于查看目的 我读过关