简体   繁体   English

无法下载完整的 CSV 数据

[英]not able to download complete CSV data

I'm trying to download some CSV data using Javascript.我正在尝试使用 Javascript 下载一些 CSV 数据。 I have around 600 700 records, but only 18-20 records are getting downloaded.我有大约 600 700 条记录,但只有 18-20 条记录被下载。 This is what I'm doing so far这就是我到目前为止所做的

 console.log("CSV data", results.data);

                   var hiddenElement = document.createElement('a');
                    hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(results.data);
                    hiddenElement.target = '_blank';
                    hiddenElement.download = 'users.csv';
                    hiddenElement.click();

In the console, I'm able to view all the data, but the file users.csv has only 18-20 records.在控制台中,我可以查看所有数据,但文件users.csv只有 18-20 条记录。

Any leads is highly appreciated任何线索都受到高度赞赏

In such cases I would use the xlsx and save npm module like so:在这种情况下,我会使用 xlsx 并保存 npm 模块,如下所示:

// IMPORT
const XLSX = require("xlsx");

// INIT
var wb = XLSX.utils.book_new();
wb.Props = {
    Title: "Template",
    Subject: "Test",
    Author: "CRUD DS Excel",
    CreatedDate: new Date()
};
wb.SheetNames.push("First Sheet");

// ARRAY OF ARRAYS.
var allTitles = [[]];

// SET FIRST ROW AS THE HEADER.
allTitles[0] = ["Name", "Email", "Age"];

// INSERT SUBSEQUENT ROWS OF DATA.
records.forEach(record=>{
    allTitles.push([record.Name, record.Email, record.Age])
})

// CONVERT TO XLSX AND FORMAT THE DATA ACCORDINGLY
wb.Sheets["First Sheet"] = XLSX.utils.aoa_to_sheet(allTitles);
var wbout = XLSX.write(wb, {bookType:'xlsx',  type: 'binary'});
var buf = new ArrayBuffer(wbout.length); 
var view = new Uint8Array(buf);  
for (var i=0; i<wbout.length; i++) {
    view[i] = wbout.charCodeAt(i) & 0xFF;
} 

// SAVE
saveAs(new Blob([buf],{type:"application/octet-stream"}), "admins-template.xlsx");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM