【问题标题】:Export and append object to csv将对象导出并附加到 csv
【发布时间】:2019-12-22 18:51:09
【问题描述】:

我查到的关于导出到 CSV 的所有内容似乎都与导出预定义的对象列表或导出数组有关。

我正在使用对象构造函数并从表单中获取用户输入。然后我想将该信息附加到现有的 CSV 文件中,但我似乎无法让它工作。我用每个输入字段的输出创建了一个变量,用逗号分隔,所以我只是想找到一种导出/附加它的方法。

这是一个学校项目,我对 javascript 还很陌生,因此非常感谢任何帮助。

function newProperty() {
    var number = document.frmPropData.txtNumber.value;
    var street = document.frmPropData.txtStreet.value;
    var suburb = document.frmPropData.txtSuburb.value;
    var postcode = document.frmPropData.txtPostcode.value;
    var status = document.frmPropData.drpStatus.value;
    var propertyid = i;


    if (number != "" && street != "" && suburb != "" && postcode != "" && status != "NA") {
        var x = new Property(number, street, suburb, postcode, status, propertyid);
        var result = "Added Property " + x.propertyid +"\n" + x.number + " " + x.street + "\n" + x.suburb + " " + x.postcode + "\n" + x.status;
        alert(result);

        createCSV({ filename: "properties2.csv" });

        x++ ;
        i++ ;
}
}
function createCSV(args) {
    var data, link
    var csv = document.frmPropData.txtNumber.value + "," + document.frmPropData.txtStreet.value + "," + document.frmPropData.txtSuburb.value
     + "," + document.frmPropData.txtPostcode.value + "," + document.frmPropData.drpStatus.value + "," + document.frmPropData.txtPID.value
    alert(csv);

    csv = 'data:text/csv;charset=utf-8,' + csv;
    datatype = encodeURI(csv);

    link = document.createElement('a');
    link.setAttribute('href', data);
    link.click();
}

【问题讨论】:

  • 代码的哪一部分写入文件?
  • 另外,当x 是一个对象时,您希望x++ 完成什么?
  • 您不能仅通过 javascript 将数据附加到 Internet 上的本地现有 csv 文件(不使用 activeX)。您只需阅读它、附加数据并作为整体重新下载(=新)。
  • 文件将是本地的,而不是在线的。它还需要activeX吗?
  • 我实际上刚刚意识到我声明了 x 两次。曾经作为一个对象,全局作为一个值为 1 的变量。这个想法是为保存对象属性的变量创建一个新名称,因为它保留了先前表单提交的信息。我一定忽略了这一点。我想我可以删除全局声明和 x++,因为每次提交后我都会清除字段(未显示)。

标签: javascript csv append export


【解决方案1】:

正如我在上面的评论中提到的,我在Exporting an array of arrays to CSV 中重新表述了这一点 当我从对象更改为多维数组时。我现在意识到我应该刚刚编辑了这个问题,但是由于在处理对象时可能会有不同的解决方案,所以我认为应该是一个不同的问题。

无论哪种情况,我都从多维数组中解决了这个问题;可以在Exporting an array of arrays to CSV找到解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 2016-02-11
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多