Как сгенерировать excel файл с большими данными?
Я генерирую excel файл из массива данных.
Код объекта из которого состоит массив.
const datEra = {apartment: "кв. 121", area_type: "Не указано", bankbook: "1000217",
changed_by: "", company: "ГКП на ПХВ \"Су Арнасы\"", created_at : "-",
device_number: "28000178", diameter : "15", district : "р-н Алматы",
house: "д. 6", last_change: "", last_check : "2021-01-01",
manufacture_date: null, manufacturer: "", microdistrict: null,
modem_number: null, previous_created_at: "-", previous_value: null,
resource_type: "Горячая вода", sector: "2-8", status: "-",
street: "ул. Муепова", subscriber_name: "Калашникова Н Т", subscriber_phone: "", value : null,
}
Код создания массива данных
let bankbooks = []
for(let i = 0; i<100000; i++){
bankbooks.push(datEra);
}
Код генерации exel файла
const ws = createWs(
bankbooks,
fields,
titles
)
const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };
const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
const data = new Blob([excelBuffer], {type: fileType});
FileSaver.saveAs(data, fileName + fileExtension);
Код функции createWs
function createWs(data, fields, titles) {
const ws = XLSX.utils.json_to_sheet(
data,
{
header: fields
}
)
const range = XLSX.utils.decode_range(ws['!ref'])
for(let c = range.s.c; c <= range.e.c; c++) {
const header = XLSX.utils.encode_col(c) + '1'
ws[header].v = titles[ ws[header].v ]
}
return ws
}
этот код работает и excel файл генерируется. Но когда я увеличиваю массив на большие размеры,
for(let i = 0; i<150000; i++){
bankbooks.push(datEra);
}
то мне выпадает ошибка
Следовательно вопрос. Как мне сгенерировать excel файл из массива данных больше 150 000. Как исправить данную ошибку? Ошибка появляется на этой строчке кода:
const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
