首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用角13读取js本地Excel文件?

使用角13读取js本地Excel文件?
EN

Stack Overflow用户
提问于 2019-09-06 08:09:57
回答 2查看 18.7K关注 0票数 5

我的角-CLI前端开发服务器在localhost:4200上本地运行。

我需要获得存储在我的PC上的本地文件,读取它的内容,并从客户端调用API 。

我正在尝试使用js,并将其安装在npm install xlsx中,但我找不到如何获取文件并读取其内容。

如何在角13中导入带有js的本地excel文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-06 08:15:54

这是工作示例

代码语言:javascript
复制
onFileChange(ev) {
    let workBook = null;
    let jsonData = null;
    const reader = new FileReader();
    const file = ev.target.files[0];
    reader.onload = (event) => {
      const data = reader.result;
      workBook = XLSX.read(data, { type: 'binary' });
      jsonData = workBook.SheetNames.reduce((initial, name) => {
        const sheet = workBook.Sheets[name];
        initial[name] = XLSX.utils.sheet_to_json(sheet);
        return initial;
      }, {});
      const dataString = JSON.stringify(jsonData);
      document.getElementById('output').innerHTML = dataString.slice(0, 300).concat("...");
      this.setDownload(dataString);
    }
    reader.readAsBinaryString(file);
  }
票数 6
EN

Stack Overflow用户

发布于 2019-12-05 10:22:40

在我的例子中,我想要数据,比如

['1','2','3','4']

也有类似的数据

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

所以我做了以下代码

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57818105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档