【发布时间】: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