web-dev-qa-db-ja.com

Angular 9?

Angular-CLIフロントエンド開発サーバーをlocalhost:4200でローカルに実行しています

特定の理由で、ローカルのExcelファイルをPCに保存し、その内容を読み取り、APIを呼び出す必要があります。そしてクライアント側からのものでなければなりません

Js-xlsxを使用しようとしていますが、npm install xlsxを使用してインストールしましたが、ファイルを取得してその内容を読み取る方法が見つかりません。

Angular 9)でjs-xlsxを使用してローカルExcelファイルをインポートするにはどうすればよいですか?

注:純粋なJavaScriptを使用して可能/簡単であれば、それも私には有効です

2
Iñigo

私の場合、次のようなデータが必要です

[['1'、 '2']、['3'、 '4']]

同様のデータ

{'1': '3'、 '2': '4'}

だから私は次のコードをやった

uploadFile(uploadedFile){
    let workBook = null;
    const reader = new FileReader();
    const file = uploadedFile[0];
    reader.onload = (event) => {
      const data = reader.result;
      workBook = XLSX.read(data, { type: 'binary' });
      const sheet_name_list = workBook.SheetNames;

      this.xlData = XLSX.utils.sheet_to_json(workBook.Sheets[sheet_name_list[0]]);
      log("xlData >>> ",JSON.stringify(this.xlData));

      this.arraySaparater = (XLSX.utils.sheet_to_json(workBook.Sheets[sheet_name_list[0]], { header: 1 }));
      this.arraySaparater = this.arraySaparater.filter((row)=>{
        if(Array.isArray(row) && row.length){
          return row;
        }
        else{
          return false;
        }
      });
      log('ArraySaparater >>>',JSON.stringify(this.arraySaparater));

    }
    reader.readAsBinaryString(file);
}
0
Renish Gotecha