gpt4 book ai didi

javascript - 如何使用我指定的公式将 html 表格转换为 Excel 文件?

转载 作者:行者123 更新时间:2023-12-03 00:22:09 26 4
gpt4 key购买 nike

我有一个根据 Firebase 数据库中的数据生成的表。我想在单击按钮时将其导出到 Excel 文件。但我还希望能够通过添加公式以某种方式设置 Excel 的样式,以便它可以将“发送金额”行添加在一起并在行底部给出总计。

我尝试过在网上查找,但没有成功。

我认为最简单的方法是导入我已经制作的包含公式的 Excel,并将 HTML 表中的变量设置为 Excel 中已有的标题。

Javascript代码

    var database = firebase.database().ref().child('transactions');
database.once('value', function(snapshot){
if(snapshot.exists()){
var content = '';

snapshot.forEach(function(data){
var AmountSent = data.val().AmountSent;
var CustomerName = data.val().CustomerName;
var DateEffected = data.val().DateEffected;
var Successful = data.val().Successful;
var TimeEffected= data.val().TimeEffected;


content += '<tr>';
content += '<td>' + AmountSent + '</td>'; //column1
content += '<td>' + CustomerName + '</td>';//column2

content += '<td>' + DateEffected + '</td>'; //column1
content += '<td>' + Successful + '</td>'; //column1
content += '<td>' + TimeEffected + '</td>';//column2

content += '</tr>';

});

$('#ex-table').append(content);
}
});

HTML

<body>
<table style="width:100%" id="ex-table">
<tr id="tr">
<th>Amount Sent:</th>
<th>Customer Name:</th>
<th>Date Effected:</th>
<th>Successful</th>
<th>Time Effected</th>
</table>

</body>

CSS

    #ex-table {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}

#ex-table td, #ex-table th {
border: 1px solid #ddd;
padding: 8px;
}

#ex-table tr:nth-child(even){background-color: #f2f2f2;}

#ex-table tr:hover {background-color: #ddd;}

#ex-table th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #4CAF50;
color: white;
}

最佳答案

我会看一下 SheetJS 。我已将它们用于许多应用程序,并且它们可以处理多种格式。他们还可以从 HTML 表开始进行转换:https://github.com/SheetJS/js-xlsx#html-table-input .

已更新

公式可以引用this answer至于如何嵌入公式。请注意他的答案中的这一行,您可以在其中明确设置公式:

var cell = {f: 'A2+A3'};

基本上可以通过输入 f 的键和带有函数定义的值来设置公式。大多数工作将涉及在将表输入库后迭代结果,并根据需要使用公式调整单元格值。处理公式的文档是 here .

关于javascript - 如何使用我指定的公式将 html 表格转换为 Excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269190/

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