【问题标题】:Modifying Excel with Angular/node使用 Angular/node 修改 Excel
【发布时间】:2019-11-22 23:07:19
【问题描述】:

我的 excel 表格凌乱而巨大,我想在本地 angular 页面上阅读它们以使其看起来漂亮并做一些基本的 UI 操作。我很确定它只会在本地运行 Ng 服务,但我无法访问计算机上的 Excel 文件并将它们保存在相同的文件中。

Angular 可以访问本地的 Excel 表格吗?如果有怎么办? (我希望保存路径,并且不必每次都单击上传并查找文件。)此外,我不希望每次修改新的 excel 文件时都希望将其保存到同一个文件中。

我想我可能必须使用节点来读取工作表,将其作为 JSON 传递,将其加载到 Angular 上并进行修改。然后使用节点保存它。或类似的东西,因为我似乎无法找到一种方法来更改角度的 excel 文件。我对此很陌生,所以我不知道该流程是否有效。

编辑:我打算将 excel 表转换为 JSON,然后只需读取该数据并进行一些格式化以使其看起来不错,但这并不是真正的问题,它更多的是 I/O 问题

【问题讨论】:

  • 这个问题是不完整的,因为你没有说你想要 Excel 的数据,你打算使用哪种类型的组件,或者你甚至打算如何呈现它。我的建议是首先调查您打算如何以角度显示数据以及哪种类型的组件最适合您的目的
  • @ZetaPR 我想我在第三段中提到了这个,说我希望它是一个 JSON,但没关系,只要我可以阅读并重新显示它,然后修改它并寄回去。

标签: node.js excel angular


【解决方案1】:

为了实现所要求的,这是解析一个本地 excel 文件,该文件位于应用程序中的某个位置,例如“资产”文件夹,例如,您需要实现一个库,如 SheetJS,它服务于所有目的最后将 xlsx 转换为 JSON。 官方文档:https://github.com/SheetJS/sheetjs TypeScript 演示:https://github.com/SheetJS/sheetjs/tree/master/demos/typescript

实现它:

 import * as XLSX from 'xlsx';

 const { read, utils: { sheet_to_json } } = XLSX;

 export function readFirstSheet(data: any, options: XLSX.ParsingOptions): any[][] {
   const wb: XLSX.WorkBook = read(data, options);
   const ws: XLSX.WorkSheet = wb.Sheets[wb.SheetNames[0]];
   return sheet_to_json(ws, { header: 1, raw: true });
 }

【讨论】:

    猜你喜欢
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多