使用Angular2Csv仅导出部分字段
我使用它将JSON结果数据导出到CSV。但它正在导出所有字段。是否可以只导出特定字段而不过滤数据使用Angular2Csv仅导出部分字段,angular,Angular,我使用它将JSON结果数据导出到CSV。但它正在导出所有字段。是否可以只导出特定字段而不过滤数据 exportToCSV = function (dataobj) { const options = { fieldSeparator: ',', quoteStrings: '"', decimalseparator: '.', showLabels: true, showTitle: true, headers:
exportToCSV = function (dataobj) {
const options = {
fieldSeparator: ',',
quoteStrings: '"',
decimalseparator: '.',
showLabels: true,
showTitle: true,
headers: Object.keys(dataobj.data[0]),
// headers: ['API Id', 'RRN', 'Test Case Group', 'Test Case Id', 'Description', 'Institution id']
};
new Angular2Csv(dataobj.data, 'My Report', options);
};
您可以使用来过滤标题和数据
const exportToCSV=function(dataobj){调试器;
常量ignoreHeaders=[“test1”];
常量选项={
字段分隔符:',',
quoteStrings:“”,
小数分隔符:''.'',
showLabels:没错,
节目名称:真的,
headers:Object.keys(dataobj[0]).filter(a=>ignoreHeaders.indexOf(a)=-1),
//标题:[“API Id”、“RRN”、“测试用例组”、“测试用例Id”、“描述”、“机构Id”]
};
var data=dataobj.map(a=>{
返回options.headers.map(b=>{
返回a[b];
})
})
console.log(options.headers)
控制台日志(数据);
};
exportToCSV([{“test1”:“1”,“test2”:“2”,“test3”:“3”},{“test1”:“1”,“test2”:“2”,“test3”:“3”},{“test1”:“1”,“test2”:“2”,“test3”:“3”})
您可以创建一个新的对象资源,该资源只包含要下载的dataobj
中的属性=>'API Id',RRN','Test Case Group','Test Case Id','Description','Institution Id',并将值从原始dataobj
对象推送到新对象,如下所示:
this.myData= new Array<dataObjDownload>();
for (let i = 0; i < this.data.length; i++) {
this.myData.push
({aPIId: this.data[i].aPIId,
rRN: this.data[i].rRN,
testCaseGroup: this.data[i].testCaseGroup,
testCaseId: this.data[i].testCaseId,
description: this.data[i].description,
Institutionid: this.data[i].Institutionid,
});
}
this.myData=newarray();
for(设i=0;i
您可以使用,Object.keys(dataobj.data[0]).filter(a=>a!==“忽略键”);
谢谢。但是有像keys:['test1',test2'这样的选项吗
你能解释一下这个选项吗?我试过了,但仍然能看到我不想要的字段。你能帮我一下吗?我想从JSON中删除键和值并最终上传到CSV,但在这里我只能删除键
但不能删除值。你能发布你在dataobj.data[0]中得到的信息吗
?