【问题标题】:Extracting data (to CSV) from Javascript HTML从 Javascript HTML 中提取数据(到 CSV)
【发布时间】:2017-07-11 11:04:30
【问题描述】:

目前,我正在制作一个读取 CSV 文件并将其放入 HTML 的网站。现在,我想从我的 javascript HTML 中提取一个数组,以创建一个 csv 文件。有可能这样做吗?如果可能,请指导我。

【问题讨论】:

  • 我尝试使用 ActivexObject,但它无法工作
  • 能否请您发布您的代码或您尝试过的内容?
  • 这是一条评论,因为我不知道您是否可以访问后端。如果您正在运行节点,请查看此链接npmjs.com/package/json2csv
  • 我没有运行任何节点。它只是通常的 HTML CSS Javascript。我设法读取 csv,但无法将数组保存到 csv

标签: javascript html css json node.js


【解决方案1】:

创建一个 Blob 并使用链接中的下载属性保存它

var saveData = (function () {
    var a = document.createElement('a')
    a.hidden = true
    document.body.appendChild(a)
    return function (data, fileName) {
        var blob = new Blob([data], {type: 'octet/stream'})
        var url = URL.createObjectURL(blob)
        a.href = url
        a.download = fileName
        a.click()
        URL.revokeObjectURL(url)
    }
}())

// I leave it up to you to create the data
// necessary for creating the csv data.
// 
// data can also be array buffers blob or
// other stuff the blob constructor can take.
var data = 'abc,123' 
var fileName = "my-download.csv"

saveData(data, fileName)

【讨论】:

  • 嗨@Endless,当我按下运行代码sn-p时它可以工作,但是在我将它复制到我的脚本之后,它没有工作。它根本不下载它请指导我这个解决方案
  • 我做到了 WOHOO !!!!,谢谢无尽!真的很感谢你的帮助兄弟
【解决方案2】:

【讨论】:

  • 你应该提供一个代码sn-p而不是链接到其他网站,还有什么让你认为他使用jQuery?他甚至可能不会使用表格
  • 是的,我不使用 jQuery,谢谢 Rajesh Kumaresan,但你给我的解决方案是从表格到 CSV,我更喜欢从我的数组到 CSV 文件,谢谢
【解决方案3】:

您可以使用以下代码通过 javascript 将 HTML 表格数据导出到 Excel。

示例 Html 代码:-

<button id="btnExport">Export to xls</button>
  <br />
  <br />
  <div id="table_wrapper">
    <table border="1" cellspacing="0" bordercolor="#222" id="list">
      <tbody>
        <tr class="header">
          <th>user_id</th>
          <th>firstname</th>
          <th>lastname</th>
        </tr>
        <tr>
          <td>1</td>
          <td>Test</td>
          <td>User1</td>
        </tr>
        <tr>
          <td>2</td>
          <td>Test</td>
          <td>User 2</td>
        </tr>
        <tr>
          <td>3</td>
          <td>Test</td>
          <td>User 3</td>
        </tr>
      </tbody>
    </table>

Javascript 代码:-

$("#btnExport").click(function(e) {
    e.preventDefault();
    var data_type = 'data:application/vnd.ms-excel';
    var table_div = document.getElementById('table_wrapper');
    var table_html = table_div.outerHTML.replace(/ /g, '%20');

    var a = document.createElement('a');
    a.href = data_type + ', ' + table_html;
    a.download = 'exported_table_data + '.xls';
    a.click();
  });

我认为它会帮助你..

【讨论】:

  • 谢谢! ,让我先试试这个方法
猜你喜欢
  • 2016-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 1970-01-01
相关资源
最近更新 更多