JQuery导出到excel无法正常工作

时间:2015-05-15 19:22:26

标签: javascript c# html asp.net-mvc excel

我正在开发一个页面,使用JQuery插件将HTML表格导出为ex​​cel。 (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>

3 个答案:

答案 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>