客户端 JavaScript CSV 文件生成和电子邮件附件



我需要用Javascript/HTML5开发一个可以在移动设备(iOS/Android)上运行的应用程序。此应用程序必须仅运行客户端(不得运行服务器交互)。 它必须接收表单信息并在本地生成 CSV 文件。 生成后,它应打开本地邮件客户端并将CSV文件附加到邮件中。

这可能吗? 我找到了有关如何生成CSV文件的信息,但它们都以调用动态创建的a链接的click函数结束 - 该功能会将CSV文件下载到用户的手机。 如果此步骤可以自动转到附加了CSV文件的新电子邮件,那将是最佳解决方案。

我编写了一个轻量级的客户端 CSV 生成器库,可能会派上用场。在 https://github.com/lbrtw/csv 上查看

就位后,您只需使用 getFileContents 方法动态生成并通过电子邮件发送 CSV 文件,window.openlocation.href = ... ,如下所示:

var propertyOrder = ["name", "age", "height"];
var csv = new Csv(propertyOrder);
csv.add({ name : "Anders",
          age : 38,
          height : "178cm" });
csv.add({ name : "John Doe",
          age : 50,
          height : "184cm" });
var fileContents = csv.getFileContents();
var link = "mailto:" + emailAddress + "?subject=CSV&body=" + fileContents;
// This action should open the default email app:
window.location.href = link;
// , and if that doesn't work, try this instead:
window.open(link);

最新更新