невозможно загрузить полные данные CSV - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь загрузить некоторые данные CSV, используя Javascript. У меня около 600 700 записей, но скачиваются только 18-20 записей. Это то, что я делаю до сих пор

 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();

В консоли я могу просматривать все данные, но файл users.csv Всего 18-20 записей.

Любые лиды приветствуются

1 Ответ

0 голосов
/ 05 августа 2020

В таких случаях я бы использовал 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");
...