如何使用Javascript将数据从网站导出到csv文件?

时间:2019-04-29 08:37:16

标签: node.js csv export-to-csv

我从一个网站上看到了这段代码,显然它甚至对我的朋友也适用,但对我却不起作用。我正在使用Nodejs并表达。我做错了还是错过了重要部分?单击该按钮后,该文件没有从文件目录中弹出,也不显示任何错误。

这是脚本中的代码。

<script>
        function downloadCSV(csv, filename) {
            var csvFile;
            var downloadLink;
            //var charset = "UTF-8";

            // CSV File
            csvFile = new Blob([csv], {type: "text/csv"});

            // download link
            downloadLink = document.createElement("a");

            // file name
            downloadLink.download = filename;

            // create link to file
            downloadLink.href = window.URL.createObjectURL(csvFile);

            // hide download link
            downloadLink.style.display = "";

            // add link to DOM
            document.body.appendChild(downloadLink);

            // click download link
            downloadLink.click();
        }

        function exportData(html,filename) {
            var csv = [];
            var rows = document.querySelectorAll("table tr");

            for (var i=0; i<rows.length; i++) {
                var rows = [], cols = rows[i].querySelectorAll("td, th");

                for (var j=0; j<cols.length; j++) {
                    if (j == 7) {
                        row.push("'" + cols[j].innerText + "'");
                    } 
                    else if (j == 2){
                        row.push("'" + cols[j].innerText + "'");
                    } 
                    else {
                        row.push(cols[j].innerText);
                    }
                }

                csv.push(row.join(","));
            }

            // download csv file
            downloadCSV(csv.join("\n"), filename);

        }
    </script>

这是设计部分中的代码。

  <button type="button" class="btn btn-primary" id="exportBtn" onclick="exportData(null,'scrapedData.csv')">导出</button>

1 个答案:

答案 0 :(得分:0)

这个最小的例子正在起作用

        function downloadCSV(csv, filename) {
            var csvFile;
            var downloadLink;

            // CSV File
            csvFile = new Blob([csv], {type: "text/csv"});

            // download link
            downloadLink = document.createElement("a");

            // file name
            downloadLink.download = filename;

            // create link to file
            downloadLink.href = window.URL.createObjectURL(csvFile);

            // hide download link
            downloadLink.style.display = "";

            // add link to DOM
            document.body.appendChild(downloadLink);

            // click download link
            downloadLink.click();
        }

        function exportData(html,filename) {
            var csv = [];           

            csv.push('a');
            csv.push('b');
            csv.push('c');
            csv.push('d');
            csv.push('e');
            
            // download csv file
            downloadCSV(csv.join("\n"), filename);

        }
<button onClick="exportData(null, 'testCSV.csv')">download</button>