如何在 Cordova android 应用程序中使用 javascript 创建 csv 或 Excel 文件

Posted

技术标签:

【中文标题】如何在 Cordova android 应用程序中使用 javascript 创建 csv 或 Excel 文件【英文标题】:How to create csv or Excel file using javascript in Cordova android app 【发布时间】:2016-03-15 15:08:27 【问题描述】:

我正在尝试使用 phoneGap 创建 android 应用程序。我已经编写了用于在 javascript 中创建 csv 文件的代码,该代码在浏览器上运行良好,但在使用 cordova 创建的移动应用程序中无法运行。除了文件创建之外的所有内容在 cordova app.Pl 中都运行良好。指导

我在清单中使用了以下权限,

创建 csv 文件的代码:- var link = document.getElementById("dataLink");

        var csv = "";
            //we should have the same amount of name/cookie fields

                var name = "testdata1";
                var cookies = "testdata2",
                csv = csv + ""+ name + "," + cookies + "\n";    

                    console.log("csv-"+csv);

                    $("#dataLink").attr("href", 'data:Application/octet-stream,' + encodeURIComponent(csv))[0].click();

【问题讨论】:

【参考方案1】:

您需要使用 Crodova 的 File Plugin 将文件写入文件系统,因为不同的操作系统只有某些目录可供应用程序读取/写入。

创建文件对象和编写的代码如下所示

window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(dir) 
   console.log("got main dir", dir);
   dir.getFile("myfile.csv", 
     create: true
   , function(file) 
     console.log("got the file", file);
     logOb = file;
     var csv = "";
     //we should have the same amount of name/cookie fields
     var name = "testdata1";
     var cookies = "testdata2",
       csv = csv + "" + name + "," + cookies + "\n";
     console.log("csv-" + csv);
     writeLog(csv);
   );
 );

 function writeLog(str) 
   if (!logOb) return;
   logOb.createWriter(function(fileWriter) 
     fileWriter.seek(fileWriter.length);

     var blob = new Blob([str], 
       type: 'text/plain'
     );
     fileWriter.write(blob);
     console.log("ok, in theory i worked");
   , fail);
 

您可以参考this tutorial更好地了解文件写入的过程。

【讨论】:

以上是关于如何在 Cordova android 应用程序中使用 javascript 创建 csv 或 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MFP 8 cordova 应用程序(Android/iOS)中获取实际的用户代理

如何限制插件在android / cordova中切换后置/后置摄像头

如何在Android后台服务中运行cordova插件?

如何在Android中找到崩溃Cordova应用程序的内容?

如何在 Ionic3、Cordova 和 Angular4 应用程序中获取 android 设备的语言?

如何在 Cordova android 应用程序中使用 javascript 创建 csv 或 Excel 文件