首页 > 解决方案 > 在 HTML 中加载 CSV 自动加载相同的文件

问题描述

上面的“html”代码选择 CSV 文件并加载,但有什么方法可以更改为在刷新 C:\File.csv 时自动加载相同的 CSV 文件

    <script>
        window.onload = function () {
            var datasource = document.getElementById('datasource');
            datasource.addEventListener('change', function (e) {
                var csvFile = datasource.files[0];
                var fileReader = new FileReader();
                fileReader.onloadend = function (e) {
                    var table = document.getElementById('table');
                    var lines = fileReader.result.split(/\r?\n/);
                    var n = 0;
                    lines.forEach(function (line) {
                        n++;
                        var tr = document.createElement("tr");
                        tr.setAttribute("class", "row");
                        tr.setAttribute("id", "row_" + n);
                        var cells = line.split(/,/);
                        var m = 0;
                        cells.forEach(function (cell) {
                            var td = document.createElement("td");
                            m++;
                            td.setAttribute("id", "cell_" + n + "-" + m);
                            td.setAttribute("class", "cell");
                            var text = document.createTextNode(cell);
                            td.appendChild(text);
                            tr.appendChild(td);
                        });
                        table.appendChild(tr);
                    });
                }
                fileReader.readAsText(csvFile);
            }, false);
        }
    </script>
Select CSV file:
<input type="file" id="datasource" />
<div>Table with loaded CSV file:</div>
<table id="table" class=table></table>

上面的“html”代码选择 CSV 文件并加载,但有什么方法可以更改为在刷新 C:\File.csv 时自动加载相同的 CSV 文件

标签: javascripthtmlcsv

解决方案


TLDR;不,这是不可能的。

网页不能只选择从用户的计算机中读取任何文件,浏览器不会允许它,因为那将是一场安全噩梦。浏览器将只允许您访问从文件输入弹出窗口中选择或拖放到文件输入中的文件。


推荐阅读