Как сгенерировать 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' });

Ответы (0 шт):