是否可以加载XLSX文件以转换为HTML表,而无需用户浏览该XLSX文件?

时间:2019-06-05 15:17:19

标签: javascript html

我当前正在创建一个html页面,该页面将从本地目录加载XLSX文件,然后将其转换为该页面下同一页面上的HTML表格,但是我当前的html页面需要用户浏览其目录并打开该文件。

<html>
 <input id = "fileUpload" type ="file" > 
 <input type="button" id="upload" value="Upload" onclick="Upload()"/>

 <table id="dvExcel"></table>
 <hr>
</html>


<script>
function Upload() {
//Reference the FileUpload element.
var fileUpload = document.getElementById("fileUpload");


//Validate whether File is valid Excel file.
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.xls|.xlsx)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
    if (typeof (FileReader) != "undefined") {
        var reader = new FileReader();

        //For Browsers other than IE.
        if (reader.readAsBinaryString) {
            reader.onload = function (e) {
                ProcessExcel(e.target.result);
            };
            reader.readAsBinaryString(fileUpload.files[0]);
        } else {
            //For IE Browser.
            reader.onload = function (e) {
                var data = "";
                var bytes = new Uint8Array(e.target.result);
                for (var i = 0; i < bytes.byteLength; i++) {
                    data += String.fromCharCode(bytes[i]);
                }
                ProcessExcel(data);
            };
            reader.readAsArrayBuffer(fileUpload.files[0]);

        }
    } else {
        alert("This browser does not support HTML5.");
    }
} else {
    alert("Please upload a valid Excel file.");
}
};
</script>

1 个答案:

答案 0 :(得分:0)

否-出于安全原因,未经用户干预,不允许从网页访问本地文件。

这仅在您部署本地应用程序或类似于用户PC的东西时有效。