Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以角度将xlsx导出为csv_Javascript_Excel_Angular_Csv_Xlsx - Fatal编程技术网

Javascript 以角度将xlsx导出为csv

Javascript 以角度将xlsx导出为csv,javascript,excel,angular,csv,xlsx,Javascript,Excel,Angular,Csv,Xlsx,我正在使用解析xlsx文件中的数据。问题是,当我尝试获取数据时,数据会有所不同,这取决于我是否以XLSX和CSV格式读取数据 我更喜欢以CSV格式阅读,因为如果我不必根据CSV转换日期的话 我试图在用户上传文件时将XLSX文件转换为CSV。我的做法是: const reader: FileReader = new FileReader(); reader.onload = (e: any) => { var binaryData = e.target.result; /

我正在使用解析xlsx文件中的数据。问题是,当我尝试获取数据时,数据会有所不同,这取决于我是否以XLSX和CSV格式读取数据

我更喜欢以CSV格式阅读,因为如果我不必根据CSV转换日期的话

我试图在用户上传文件时将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;
常量bstr:string=str; 常量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}; 让数据=(XLSX.utils.sheet_to_json(ws,options)); 返回数据; 问题是我好像什么都没做过,因为数据仍然很糟糕

但是,如果打开Excel并单击“另存为”>“CSV”,则读取数据时不会出现问题。我做错了什么

我用的是角度7