我们可以在我的应用

时间:2015-07-30 07:21:24

标签: java android excel android-webview xls

我目前为Android创建了一个应用程序 在这个应用程序中,我成功显示了一个XLS文件,感谢google doc viewer并将文件传递给这样的URL:

WebView mWebView=new WebView(MyActivity.this);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginsEnabled(true);
    mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+LinkTo);
    setContentView(mWebView);

所以,现在我需要显示我保存到设备存储中的相同XLS文件,这次不是来自URL,而是直接来自存储。

我发现很多建议都是通过链接到网址中的文件,但不是我的文件已经存在我的设备上。

所以,在我开始之前,我想知道它是否可能?

我看到了这种方法myWebView.loadData( );

我可以用它来解决我的问题吗? 我可以将docs.google.com/gview与内部文件一起使用吗?

修改

我尝试了Der Gol的解决方案...... lum

这是我的代码:

WebView wv = (WebView)findViewById(R.id.fileWebView);
    wv.getSettings().setJavaScriptEnabled(true);
    String root = Environment.getExternalStorageDirectory().toString();
    String my_path = root + "/excel_files/";
    wv.loadUrl("file://" + my_path + excelFile.getName());
    wv.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    });

但是webview显示空白页

1 个答案:

答案 0 :(得分:1)

假设您的文件是静态不可变,您可以将该文件放在assets文件夹中,然后使用

mWebView.loadUrl("file:///android_asset/your_file");

加载到WebView中 我使用这种技术来显示帮助(HTML文件)。

您也可以在assets下使用子文件夹(在我的情况下,我使用的网址如:"file:///android_asset/help/help_" + language + ".htm"),
因为我的文件在assets/help/