javascript - 将 HTML 元素的内容导出到 JS 中的 CSV 文件
问题描述
我正在尝试将显示的值放在 csv 文件的标记中。但是,当我导出时,我下载了一个空文件。我究竟做错了什么?
document.getElementById("export").addEventListener("click",function(){
var file;
var download = document.getElementById("fileContents").textContent;
download = file;
},false)
<!DOCTYPE html>
<html lang="pt-pt">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
</head>
<body>
<input type="file" id="openFile"/>
<a id="export" download="export.csv" href="data:text/html,">Export</a>
<br>
<br>
<br>
<!-- preformatted text -->
<pre id="fileContents">
ojdaoj,feokokfe,dawff,efofewfo
ojdaoj,feokokfe,dawff,efofewfo
ojdaoj,feokokfe,dawff,efofewfo
ojdaoj,feokokfe,dawff,efofewfo
ojdaoj,feokokfe,dawff,efofewfo
ojdaoj,feokokfe,dawff,efofewfo
ojdaoj,feokokfe,dawff,efofewfo</pre>
<!--/preformatted text -->
<!-- app.js -->
<script src="js/app.js"></script>
</body>
</html>
解决方案
<a>
您可以通过在脚本中再添加一行来将文本内容添加到元素中:
document.getElementById("export").addEventListener("click",function(){
var download = document.getElementById("fileContents").textContent;
// adds text to <a> element
this.setAttribute('href', 'data:text/html,' + encodeURIComponent(download));
},false)
推荐阅读
- sql-server - 在 Table 上设置触发器以限制 INSERT、DELETE、UPDATE 操作的数量
- r - 列出 Confident Interval 的实际均值为 10
- reactjs - 如何使用HashRouter 更改位置的路径名
- ms-access - 使用 Access SQL 函数时,Microsoft Access ODBC 驱动程序导致访问冲突
- python - 如何将后处理层添加到已保存的 Google AI Platform 模型?
- python - 使用 python 脚本从 Chrome/Firefox/Explorer 捕获下载
- php - 我无法将我的 php 连接到我的 html 表单。表单操作不起作用
- javascript - 在 Leaflet 中,如何仅在单击每个图块时才加载图块?
- mysql - 如何(MySQL)将组上的单元格值乘以?
- authentication - 引导程序如何与服务器进行身份验证?