导出 excel 文件中的对象数组(JavaScript)

我将数据存储在 JavaScript 数组中,如下所示:

var video= [ ["name1",1,2,3], ["name2",4,54,44], ["name3",212,212,1213], ["name4",32,133,33] ];

如何将此数据保存在 CSV 文件中?


肥皂起泡泡
浏览 183回答 3
3回答

MYYA

看一下这个:<!DOCTYPE html><html><head>&nbsp; &nbsp; <title>Demo</title>>&nbsp; &nbsp; <script>&nbsp; &nbsp; &nbsp; &nbsp; var data = [&nbsp; &nbsp; &nbsp; &nbsp; ["name1", 1, 2, 3],&nbsp; &nbsp; &nbsp; &nbsp; ["name2", 4, 54, 44],&nbsp; &nbsp; &nbsp; &nbsp; ["name3", 212, 212, 1213],&nbsp; &nbsp; &nbsp; &nbsp; ["name4", 32, 133, 33]&nbsp; &nbsp; &nbsp; &nbsp; ];&nbsp; &nbsp; &nbsp; &nbsp; function generateCSV() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var csv = 'Name, Value1, Value2, Value3\n';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data.forEach(function(row) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; csv += row.join(',');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; csv += "\n";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var hiddenElement = document.createElement('a');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenElement.target = '_blank';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenElement.download = 'data.csv';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenElement.click();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; </script></head><body>&nbsp; &nbsp; <button onclick="generateCSV()">Download</button>&nbsp;</body></html>这里我们正在创建 CSV(逗号分隔值)文件。MS-Excel 可以轻松打开 CSV 文件。稍后您可以借助 MS-Excel 或任何其他电子表格程序(如 OpenOffice Calc)轻松地将这些 CSV 文件转换为 XLS 或 XSLX 文件。

墨色风雨

再见,我认为export-from-json是最简单的方法。你可以这样写:import exportFromJSON from 'export-from-json'&nbsp;var video = [ ["name1",1,2,3], ["name2",4,54,44], ["name3",212,212,1213], ["name4",32,133,33] ];const fileName = 'download'const exportType = 'csv'&nbsp; &nbsp;//exported type could be text, json, csv, xls, xml&nbsp;exportFromJSON({ video, fileName, exportType })这是一个代码笔示例。在 xls 中导出数据如下所示:

炎炎设计

最简单的方法可能是创建一个 CSV 文件以导入到 Excel 中。这样的事情可能会起作用:const video= [ ["name1",1,2,3], ["name2",4,54,44], ["name3",212,212,1213], ["name4",32,133,33] ];const toCsv = arr => arr.map(row => row.join(",")).join("\n");console.log(toCsv(video));通常,使用库生成此类 CSV 文件或生成实际的 Excel 文件(xlsx 或 xls)更为安全。引号和字符转义等问题将通过这种方式为您处理。请参见Giovanni Esposito 的回答中所述的https://www.npmjs.com/package/export-from-json 。对于复制并粘贴到 Excel 中,TSV(制表符分隔值)通常效果很好。是这样的:const video= [ ["name1",1,2,3], ["name2",4,54,44], ["name3",212,212,1213], ["name4",32,133,33] ];const toTsv = arr => arr.map(row => row.join("\t")).join("\r\n");console.log(toTsv(video));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript