为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

肥皂起泡泡 2022-12-29 13:53:42
我将数据存储在 JavaScript 数组中,如下所示:var video= [ ["name1",1,2,3], ["name2",4,54,44], ["name3",212,212,1213], ["name4",32,133,33] ];如何将此数据保存在 CSV 文件中?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

看一下这个:


<!DOCTYPE html>

<html>

<head>

    <title>Demo</title>>


    <script>

        var data = [

        ["name1", 1, 2, 3],

        ["name2", 4, 54, 44],

        ["name3", 212, 212, 1213],

        ["name4", 32, 133, 33]

        ];



        function generateCSV() {

            var csv = 'Name, Value1, Value2, Value3\n';

            data.forEach(function(row) {

                csv += row.join(',');

                csv += "\n";

            });


            var hiddenElement = document.createElement('a');

            hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);

            hiddenElement.target = '_blank';

            hiddenElement.download = 'data.csv';

            hiddenElement.click();

        }

    </script>

</head>

<body>

    <button onclick="generateCSV()">Download</button> 

</body>

</html>

这里我们正在创建 CSV(逗号分隔值)文件。MS-Excel 可以轻松打开 CSV 文件。稍后您可以借助 MS-Excel 或任何其他电子表格程序(如 OpenOffice Calc)轻松地将这些 CSV 文件转换为 XLS 或 XSLX 文件。



查看完整回答
反对 回复 2022-12-29
?
墨色风雨

TA贡献1853条经验 获得超6个赞

再见,我认为export-from-json是最简单的方法。


你可以这样写:


import exportFromJSON from 'export-from-json'

 

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

const fileName = 'download'

const exportType = 'csv'   //exported type could be text, json, csv, xls, xml

 

exportFromJSON({ video, fileName, exportType })

是一个代码笔示例。


在 xls 中导出数据如下所示:

//img1.sycdn.imooc.com//63ad2bb20001026a01720143.jpg

查看完整回答
反对 回复 2022-12-29
?
炎炎设计

TA贡献1808条经验 获得超4个赞

最简单的方法可能是创建一个 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));


查看完整回答
反对 回复 2022-12-29
  • 3 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信