将测试导出为CSV javascript

时间:2016-12-10 18:44:59

标签: javascript jquery html csv

我正在尝试将逗号分隔的字符串导出为CSV,当用户点击按钮时会打开该CSV。我找到了几个不同的示例,但是当我尝试修改它们以满足我的需求时,CSV文件无法打开。 此链接指向我的JSFiddle

<div onClick="exportToCSV('Test.csv');">Test here</div>

function exportToCSV(filename) {
   csv = "test, test1, test2, test3";
   csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
   $(this)
    .attr({
       "download": filename,
       "href": csvData,
       "target": "_blank"
   });
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

download属性仅存在于a标记中。

a

试试这个:

  1. div标记更改为a标记。
  2. 使用exportToCSV关键字将引用传递给this函数中的元素。

    exportToCSV(this, 'Test.csv');

  3. 使用函数中元素的引用。

  4. function exportToCSV(me, filename) {
      var csv = "test, test1, test2, test3";
      var csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
      $(me) // Reference to the element.
        .attr({
          "download": filename,
          "href": csvData,
          "target": "_blank"
        });
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <a onclick="exportToCSV(this, 'Test.csv');">Test here</a>