gpt4 book ai didi

javascript - 使用SheetJS将动态创建的表格内容保存在excel文件中

转载 作者:行者123 更新时间:2023-12-04 13:26:46 29 4
gpt4 key购买 nike

我将行动态添加到 html 表中,并且我想使用 SheetJs 将表内容保存到 xlsx 文件中。生成的文件是空的。当以这种方式添加表格内容时,在这种情况下是否有可能做到这一点?
我还尝试在创建 xlsx 文件之前添加行 rigth。

<!DOCTYPE html>
<html>

<head>
<script src="https://code.jquery.com/jquery-2.1.4.js"
integrity="sha256-siFczlgw4jULnUICcdm9gjQPZkw/YPDqhQ9+nAOScE4=" crossorigin="anonymous"></script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/amcharts/3.21.15/plugins/export/libs/FileSaver.js/FileSaver.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.15.6/xlsx.full.min.js"></script>

<style>
table,
td {
border: 1px solid black;
}
</style>
</head>

<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.10.3/xlsx.full.min.js">
</script>

<p>Click the button to add a new row at the first position of the
table and then add cells and content</p>

<table id="myTable">
<TR>
</TR>
</table>
<button type="button" id="first" onclick="First('myTable')">Principal</button>
<button id="button-a">Create Excel</button>
<script>
function First(tableID) {
let table = document.getElementById(tableID)
table.innerHTML = "<tr>first</tr>";
}

</script>

<script>
var wb = XLSX.utils.table_to_book(document.getElementById('myTable'), { sheet: "Sheet JS" });
var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'binary' });
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
$("#button-a").click(function () {
saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), 'test.xlsx');
});
</script>
</body>

</html>

最佳答案

问题

  • 里面的文字tr而不是 td在动态内容中。这导致如下表结构。

  • enter image description here
  • XLSX.utils.table_to_book在创建表内容之前调用。

  • 工作演示
    https://jsfiddle.net/aswinkumar863/95zsfg64/1/

    关于javascript - 使用SheetJS将动态创建的表格内容保存在excel文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67957011/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com