将 HTML 表格导出到 Excel 并设置格式

BBR*_*BRK 5 javascript excel html-table sheetjs

我正在创建一个网页,其中的数据上传到 HTML 表。经过一些计算后,会生成一个输出 HTML 表。输出 HTML 表必须以 Excel ( .xlsx) 格式转储。我使用SheetJS库来上传和下载。

我尝试过以下代码,将数据导出到 Excel,无需任何格式。

HTML 表格标记

计算后输出HTML:

<table border="1" id="tempTable">
  <thead>
    <tr>
      <th style="border:1px solid #000000;border-collapse: collapse">Column1</th>
      <th style="border:1px solid #000000;border-collapse: collapse">Column2</th>
      <th style="border:1px solid #000000;border-collapse: collapse">Column3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="border:1px solid #000000;border-collapse: collapse">R1C1</td>
      <td style="border:1px solid #000000;border-collapse: collapse">R1C2</td>
      <td style="border:1px solid #000000;border-collapse: collapse">R1C3</td>
    </tr>
    <tr>
      <td style="border:1px solid #000000;border-collapse: collapse">R2C1</td>
      <td style="border:1px solid #000000;border-collapse: collapse">R2C2</td>
      <td style="border:1px solid #000000;border-collapse: collapse">R2C3</td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

JavaScript 代码

帮助我导出数据的功能:

function ExportAllData_HTML() {
  var wb = { SheetNames: [], Sheets: {} };
  var ws9 = XLSX.utils.table_to_sheet(document.getElementById('tempTable'), { raw: true });
  wb.SheetNames.push('Temp Table');
  wb.Sheets["Temp Table"] = ws9;
  XLSX.writeFile(wb, "myTemp.xlsx", { cellStyles: true });
}
Run Code Online (Sandbox Code Playgroud)

我搜索并发现只有内联 CSS 在导出数据时才有效,但这似乎也不起作用。

我无法使用已应用的 CSS 将数据导出到 Excel。

有没有其他方法可以使用已应用的 CSS 导出数据?

小智 0

如果您只需要导出您看到的 html 表,我认为以下链接可以满足您的需求: Javascript to export html table to Excel