javascript - 在 Javascript 中将标头传递给 CSV 的更好方法
问题描述
我正在尝试通过 Javascript 中的 GRID 读取数据并将其转换为 CSV 文件。CSV 将重复的标题和数据拉到各处。我对 Javascript 很陌生。如果有人可以帮助我,那就太好了。
DATA -----------
defaultSortAsc: true
field: "ECCKT_STRIPPED_NAME__r.Name"
focusable: true
formatter: ƒ eccktStrippedNameFormatter(row, cell, value, columnDef,
dataContext)
headerCssClass: null
helpText: ""
id: "ECCKT_STRIPPED_NAME"
minWidth: 30
name: "ECCKT_STRIPPED_NAME"
rerenderOnResize: false
resizable: true
selectable: true
sortable: true
width: 300
var exportGrid = function() {
var headerRow = '';
var headers = [];
var str = '';
for (var i = 0; i < data.length; i++) {
var line = '';
for (var index in data[i]) {
if(typeof data[i][index] != "object") {
if(!headers[index]) {
headers.push(index);
if(headerRow != '') headerRow += ',';
headerRow += index;
}
if(line != '')
line += ',';
line += '"' + data[i][index] + '"';
}
}
str += line + '\r\n';
}
var finalStr = headerRow + '\r\n' + str;
//To Extract the CSV
var csv=finalStr;
var downloadLink=document.createElement("a");
var blob=new Blob(["\ufeff",csv]);
var url=URL.createObjectURL(blob);
downloadLink.href=url;
downloadLink.download="data.csv";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
}
解决方案
推荐阅读
- c++ - boost::posix_time::time_facet 和 boost::posix_time::time_input_facet 之间的“%f”行为不一致
- xcode - Info.plist:操作无法完成。(XCBUtil.PropertyListConversionError 错误 0。)
- python-3.x - 如何根据 PyQT5 单选按钮选择运行正确的功能
- php - 数据库问题:无法通过 PHP 和 MYSQL 更新
- weather-api - 国家中心环境信息访问数据服务 API
- python - Python 属性解析为 xml:id 返回 None
- python - Django - 当我更新日期字段和选择字段时,我看不到当前值
- c# - C#中类属性创建的抽象
- javascript - 在选项 javascript 中调用变量
- javascript - 如何将本地存储项放在 if 语句中?