html表格导出excel有几种方式

html表格导出excel的几种主流方式

发布:2023-08-09     分类:闲者编程     标签:Html导入导出Excel
2023 - 8 - 8
html表格导出excel有几种方式

最近在做前端页面导出,记录下实现,以供大家参考。 在HTML中实现将表格导出为Excel文件有多种方式。下面将介绍三种常见的方法和示例。

一. 使用 a 标签和Data URI

这种方式使用 a 标签的download属性和Data URI,将表格数据嵌入到链接中,当用户点击链接时,浏览器会自动下载一个Excel文件。

示例:

<table id="table">
  <tr>
    <th>Name</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>John</td>
    <td>30</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>25</td>
  </tr>
</table>
<a id="exportLink" download="data.xlsx">导出为Excel</a>
<script>
document.getElementById("exportLink").addEventListener("click", function() {
  var table = document.getElementById("table");
  var html = table.outerHTML.replace(/ /g, '%20'); // 替换空格
  this.href = 'data:application/vnd.ms-excel,' + html;
});
</script>

二. 使用第三方库

有许多第三方库,如TableExport和xlsx.js,可以将HTML表格导出为Excel文件。这些库提供了更多的功能和配置选项。

以TableExport为例:

<script src="https://cdn.jsdelivr.net/npm/tableexport@5.2.0/dist/js/tableexport.min.js"></script>

<table id="table">
  <tr>
    <th>Name</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>John</td>
    <td>30</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>25</td>
  </tr>
</table>

<button id="exportButton">导出为Excel</button>

<script>
document.getElementById("exportButton").addEventListener("click", function() {
  TableExport(document.getElementById("table"), {
    formats: ['xlsx'],
    exportButtons: false
  }).exportToXLSX('data');
});
</script>

三. 使用服务器端处理

另一种方法是将表格数据发送到服务器,由服务器将数据转换为Excel文件并返回给用户。

示例:

<!-- HTML部分 -->
<button id="exportButton">导出为Excel</button>

<script>
document.getElementById("exportButton").addEventListener("click", function() {
  // 将表格数据发送到服务器,服务器处理后返回Excel文件
  window.location.href = "export.php"; // 服务器端处理的示例URL
});
</script>
<!-- export.php -->
<?php
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename="data.xlsx"');

$excelData = "
<table>
  <tr>
    <th>Name</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>John</td>
    <td>30</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>25</td>
  </tr>
</table>";

echo $excelData;
?>

以上是三种将HTML表格导出为Excel文件的常见方式。你可以根据项目需求和个人喜好选择适合你的方法。

更新:2023-08-09
点击评论
评论区