使用 XLSX Angular 导出到 Excel 时如何保持文本格式(无格式)

AHK*_*AHK 1 html excel xlsx angular5

我有下面的简化工作代码:

它尝试使用标签模拟并生成 3 行数据到 HTML。我使用#myTable“参考”它。正在传递数据并生成 Excel 文件(幸运的是)。

然而,数据是由excel格式化的(我认为在写入过程中它自己)。

谁能指导我如何不让 XLSX 不格式化并将数据导出到 Excel 中,如标签中所示?

超文本标记语言

<table #myTable class="table table-striped table-condensed text-nowrap">
  <thead>
    <tr>
      <th></th>
      <th>Col1</th>
      <th>Col2</th>
      <th>Col3</th>
    </tr>
  </thead>
  <tbody>
    <tr *ngFor="let number of ['31.03.2020','10.10.2019','0013268']" class="form-group">
      <td></td>
      <td name="col1">{{ number }}</td>
      <td name="col2">{{ number }}</td>
      <td name="col3">{{ number }}</td>
    </tr>
  </tbody>
</table>

<button id="table-export-message" [tableElement]="myTable"
  class="btn btn-default btn-primary float-right tableexport-string target" style="margin-right:10px">
  <span class="fa fa-file-excel-o"></span>
  Export Excel
</button>
Run Code Online (Sandbox Code Playgroud)

成分

private exportToTable() {
  const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tableElement);
  const wb: XLSX.WorkBook = XLSX.utils.book_new();
  XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');

  /* save to file */
  XLSX.writeFile(wb, 'SheetJS.xlsx');
}
Run Code Online (Sandbox Code Playgroud)

EXCEL结果如下。如您所见,只有“31.03.2020”正确显示。然而,

  1. “10.10.2019”显示为“10/10/2019”(预计:10.10.2019)
  2. “0012345”显示为“12345”(预期:0012345)

在此输入图像描述

感谢您的时间!

更新解决方案 1:好主意,但不是正确的解决方案,因为 Excel 也有 '(撇号)。 在此输入图像描述

该表还显示撇号。 在此输入图像描述

AHK*_*AHK 5

我已经找到了如何在没有任何格式的情况下添加表格。在花费更多时间了解 Angular XLSX 的自述文件(有点令人困惑)之后,有更多参数将被接受,其中之一是

raw : boolean
Run Code Online (Sandbox Code Playgroud)

所以更新后的代码行将是:

const ws: XLSX.WorkSheet=XLSX.utils.table_to_sheet(this.tableElement,  {raw:true});
Run Code Online (Sandbox Code Playgroud)