JavaScript SheetJS将 Html 表转换为 Excel 文件

在本教程中,我们可以在客户端从我们的 HTML 表数据创建一个 excel 文件。即使用javascript将HTML 表导出到Excel (.xlsx)。

有许多可用的库可以从 HTML 表创建 CSV 文件或 xlsx 文件,但所有库都给出了提示消息。那就是当我们打开该excel文件时,它会提示一条消息,文件名的文件格式和扩展名不匹配。该文件可能已损坏或不安全。

今天这篇文章将使用SheetJS,它允许我们在没有任何提示信息的情况下创建和打开excel文件,这是纯javascript的。

使用 SheetJs 库的第二个优点是它可以轻松地将大型 HTML 表格导出到 excel中,下面提供了一个示例。

您还可以查看我关于如何在客户端 将 HTML 转换为图像的文章。

使用 JavaScript 将 HTML 表格导出到 Excel 的步骤

  1. HTML 标记:添加带有一些数据的表格。
  2. 导入 SheetJS 库
  3. Javascript 代码:使用 SheetJS 库将表格数据导出到 excel 文件中。

HTML 标记:添加带有数据和按钮标记的表格。

这里首先我们添加一个带有一些虚拟数据和一个按钮标签的 HTML 表格。我们的表格 HTML 标记如下所示。

  1. <table id="tbl_exporttable_to_xls" border="1">
  2. <thead>
  3. <th>Sr</th>
  4. <th>Name</th>
  5. <th>Location</th>
  6. <th>Job Profile</th>
  7. </thead>
  8. <tbody>
  9. <tr>
  10. <td>1</td>
  11. <td><p>Amit Sarna</p></td>
  12. <td>Florida</td>
  13. <td>Data Scientist</td>
  14. </tr>
  15. <tr>
  16. <td>2</td>
  17. <td><p>Sagar Gada</p></td>
  18. <td>California</td>
  19. <td>Sr FullStack Dev</td>
  20. </tr>
  21. <tr>
  22. <td>3</td>
  23. <td><p>Ricky Marck</p></td>
  24. <td>Nevada</td>
  25. <td>Sr .Net Dev</td>
  26. </tr>
  27. </tbody>
  28. </table>
  29. <button onclick="ExportToExcel('xlsx')">Export table to excel</button>

另请阅读:如何在 JavaScript 中检测浏览器

在我们的网页上下载并导入 SheetJS 库

要将 HTML 表格数据转换为 excel,我们需要使用SheetJS库。使用 SheetJs,我们可以轻松地将表格数据转换为 Xls 文件。我们可以从Github下载 js 文件或直接使用CDN 托管文件。

导入库代码如下:

  1. <script type="text/javascript" src="https://unpkg.com/xlsx@0.15.1/dist/xlsx.full.min.js"></script>

我们完成了 HTML 标记并导入 Sheetjs 库。接下来,我们必须在按钮单击时添加和调用 javascript 函数,即 ExportToExcel。

JavaScript 代码:使用 Sheetjs 库将表格数据导出到 excel 文件中。

这里在按钮标签上,我们添加一个onclick事件,调用js方法即ExportToExcel。最终的javascript方法如下所示:

  1. function ExportToExcel(type, fn, dl) {
  2. var elt = document.getElementById('tbl_exporttable_to_xls');
  3. var wb = XLSX.utils.table_to_book(elt, { sheet: "sheet1" });
  4. return dl ?
  5. XLSX.write(wb, { bookType: type, bookSST: true, type: 'base64' }):
  6. XLSX.writeFile(wb, fn || ('MySheetName.' + (type || 'xlsx')));
  7. }

在上面的 javascript 函数中,tbl_exporttable_to_xls 是我们要导出的 HTML 表的 id。另外,我们设置了base64类型,所以对于旧浏览器IE浏览器没有问题。

在 Internet Explorer 即使用 SheetJS 的浏览器中,我们可以轻松地将 HTML 表格数据导出到 Excel。使用 sheetjs库,我们可以将 Html 表格导出为带格式的 xlsx。

结论:这里使用SheetJS我们可以将Html表格导出到一个excel文件中。此外,当其他库在打开 excel 文件时显示弹出消息时,这里使用 Sheetjs 它会在没有任何弹出消息的情况下打开。我发现这个最好的 javascript 库用于将数据转换为 excel 文件。

发表评论

表情:
评论列表 (有 0 条评论,21人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Excel文件转换Html

    背景 我的工作有时会涉及到财务数据的处理。我们大家都知道,Excel文件在处理数据中很流行并且被广泛使用。Excel让我们可以将存储在里面的数据进行数学计算。我在工作中使