微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用javascript上传和下载csv文件下载按钮不起作用

如何解决使用javascript上传和下载csv文件下载按钮不起作用

我正在使用 JavaScript 上传和下载 csv 文件代码上传按钮应该从您的计算机搜索文件并加载到 HTML 网页中。这个工程文件。此外,在这种情况下,csv 应该是可编辑的,这也很有效。但是,我需要在输入一些细节后下载相同的 csv 文件。这里的问题是下载按钮不起作用。下面是我自己开发的代码,请指教。感谢您的支持

        var fileUpload = document.getElementById("fileUpload1");
        var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
        if (regex.test(fileUpload.value.toLowerCase())) {
            if (typeof (FileReader) != "undefined") {
                var reader = new FileReader();
                reader.onload = function (e) {
                    var table = document.createElement("table");
                    var rows = e.target.result.split("\n");
                    for (var i = 0; i < rows.length; i++) {
                        var cells = rows[i].split(",");
                        if (cells.length > 1) {
                            var row = table.insertRow(-1);
                            for (var j = 0; j < cells.length; j++) {
                                var cell = row.insertCell(-1);
                                cell.innerHTML = cells[j];
                            }
                            
                        }
                    }
                    var dvCSV1= document.getElementById("dvCSV1");
                    dvCSV1.innerHTML = "";
                    dvCSV1.appendChild(table);
                }
                reader.readAsText(fileUpload.files[0]);
            } else {
                alert("This browser does not support HTML5.");
            }
        } else {
            alert("Please upload a valid CSV file.");
        }
        
    }

</script>

<script>

function Download() {
    var csv = document.getElementById("fileUpload1");
        //var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/; 
 data.forEach(function(row) {
        var row1 = []; 
        row.forEach(function(item) { // handling commna in data values
        if(item.indexOf(',') == -1) { // not having comma 
    row1.push(item);
  } else {
    item = "\"" + item + "\"";
    row1.push(item);
  }
     });
 console.log("row1:" + row1)
 csv += row1.join(',');
 csv += "\n";
     });
 
 if (navigator.msSaveBlob) { //IE
  var csvURL =  null;
  var csvData = new Blob([csv],{type: 'text/csv;charset=utf-8;'});
                csvURL = navigator.msSaveBlob(csvData,'download-reports.csv');
 } else { // Firefox,Chrome
         console.log(csv);
  //var hiddenElement = document.createElement('a');
                var hiddenElement = document.getElementById('fileUpload1'); //For Firefox 
  hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
  hiddenElement.target = '_blank';
  hiddenElement.download = 'download-reports.csv';
  hiddenElement.click();
    }  
}
</script>

<input type="file" id="fileUpload1" />
<input type="button" id="upload" value="Upload" onclick="Upload()" />        
<input type="button" id="Download" value="Download CSV" onclick="Download()" > ```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。