如何支持" "使用javascript导出CSV文件时
How to support " " when exporting csv file with javascript
我试图将数组数据导出到csv文件,除非它有断行("'n"),否则工作正常。我希望它能支持单行换行,有可能吗?
我尝试将'n替换为"'n"或"'n",但它不起作用
我正在使用的函数:
function arrayToCSVConvertor(arrData, ReportTitle) {
var CSV='';
arrData.forEach(function(infoArray, index){
var dataString = infoArray.join(",");
//dataString= dataString.split(''n').join('''n');//Here, need something to suport "'n"
CSV += dataString+ "'n";
});
if (CSV == '') {
alert("Invalid data");
return;
}
//create a link and click then remove
var link = document.createElement("a");
link.id="lnkDwnldLnk";
//this part will append the anchor tag and remove it after automatic click
document.body.appendChild(link);
var csv = CSV;
/* window.open(encodeURI(csv));*/
var blob = new Blob([csv], { type: 'text/csv' });
//var csvUrl = window.webkitURL.createObjectURL(blob);
var csvUrl = createObjectURL(blob);
var filename = ReportTitle+'.csv';
if(navigator.msSaveBlob){//IE 10
return navigator.msSaveBlob(blob, filename);
}else{
$("#lnkDwnldLnk")
.attr({
'download': filename,
'href': csvUrl
});
$('#lnkDwnldLnk')[0].click();
document.body.removeChild(link);
}
}
PS:我在数组中有中文单词
我建议避免直接使用CSV和它所有的小变体的痛苦,只使用一些像Papa Parse这样的库来为你处理这项工作。
基本上,在一个值中使用的新行应该是'n
,结束记录的新行应该是'r'n
,但正如@user2864740评论的那样,结果根据文件的编码和你要打开它的地方而变化
相关文章:
- 无法导出函数expressjs/requestjs中的变量
- 节点导出返回一个空对象
- 如何从模块链中调用函数.导出到节点中
- 铬:“;未捕获的语法错误:意外的标记:"
- 为什么无法在TypeScript中导出类实例
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 在Three.js中导出网格会提高性能吗
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;