我正在开发一个页面,使用JQuery插件将HTML表格导出为excel。 (https://github.com/rainabba/jquery-table2excel)。
出于某种原因,单击按钮时绝对没有任何反应。我已经识别了我的表,并调用了我的函数,所以我不知道为什么这段代码不起作用。
查看〜(浓缩)
<div class="row">
<div class="col-md-2">
<a onclick="return ResultsToTable()" class="btn btn-default">Export</a>
</div>
<div class=col-md-10></div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"><script>
<script src="~/js/jquery.table2excel.js"></script>
<script type="text/javascript">
function ResultsToTable(){
$("#resultsTable").table2excel({
exclude: ".noExl",
name: "Results"
});
};
</script>
<table id="resultsTable">
//table stuff
</table>
答案 0 :(得分:0)
纠正这个:
<script src="~/js/jquery.table2excel.js"></script
&GT;
看起来您没有正确加载库。 我想它应该是:
<script src="/js/jquery.table2excel.js"></script>
但要使其适应文件夹的正确结构
答案 1 :(得分:0)
如果我没弄错,jquery.table2excel.js无法正常使用ATM。我尝试从repo运行演示,但它对我不起作用。
我进行了一些实验并找到了解决方案:
https://github.com/rainabba/jquery-table2excel/pull/13
检查此JSFiddle
(注意使用的是固定版本,请参阅HTML顶部的脚本)
为了合规,JS代码:
jQuery(document).ready(function() {
$('#export-btn').on('click', function(e){
e.preventDefault();
ResultsToTable();
});
function ResultsToTable(){
$("#resultsTable").table2excel({
exclude: ".noExl",
name: "Results"
});
}
});
答案 2 :(得分:0)
您可以使用此代码段导出 Excel 文件。
查看此https://jsfiddle.net/santoshgawande/2fcsq7o6/1/
一切正常。
var Results = [
["Col1", "Col2", "Col3", "Col4"],
["Data", 50, 100, 500],
["Data", -100, 20, 100],
];
exportToCsv = function() {
var CsvString = "";
Results.forEach(function(RowItem, RowIndex) {
RowItem.forEach(function(ColItem, ColIndex) {
CsvString += ColItem + ',';
});
CsvString += "\r\n";
});
CsvString = "data:application/vnd.ms-excel," + encodeURIComponent(CsvString);
var x = document.createElement("A");
x.setAttribute("href", CsvString );
x.setAttribute("download","Data.xlsx");
document.body.appendChild(x);
x.click();
}
<button onclick="exportToCsv()">export to CSV</button>