Экспорт xlsx в csv в Angular - PullRequest
       2

Экспорт xlsx в csv в Angular

0 голосов
/ 20 января 2020

Я использую XLSX для анализа данных из файла xlsx. Проблема в том, что когда я пытаюсь получить данные, они отличаются в зависимости от того, читаю ли я их в XLSX и CSV.

Я предпочитаю читать их в CSV, так как если мне не нужно преобразовывать даты в соответствии с в формате Excel .

Я пытаюсь преобразовать файл XLSX в CSV, когда пользователь загружает файл. Я пытаюсь сделать так:

const reader: FileReader = new FileReader();

reader.onload = (e: any) => {

    var binaryData = e.target.result;
    //Converting Binary Data to base 64
    var base64String = window.btoa(binaryData);

    const wb = XLSX.read(base64String, { type: 'base64' });
    const newFile = XLSX.write(wb, { bookType: 'csv', type: 'binary' });
    resolve(newFile);
}

reader.onerror = (error: any) => {
    reject(error);
}

reader.readAsBinaryString(file);

Я использую это в обещании. Когда обещание разрешено, я анализирую его в XLSX.WorkSheet следующим образом:

const bstr: string = str;
const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary', raw: false });

const wsname: string = wb.SheetNames[0];
const ws: XLSX.WorkSheet = wb.Sheets[wsname];

let options = { header: 1, raw: false };

let data = <any[][]>(XLSX.utils.sheet_to_json(ws, options));

return data;

Проблема в том, что я ничего не делал, поскольку данные все еще плохие.

Однако, если я открою Excel и нажму «Сохранить как> CSV», прочитайте данные без проблем. Что я делаю не так?

Я использую Angular 7.

...