我这里有一个“被盗”代码,我想将输入扇区更改为服务器上我的文件夹中的文件,而无需先上传文件。问题是我在javascript中有点不明白,如何更改代码来做到这一点。谢谢你的帮助。
<script src="jquery-2.1.4.min.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<input type="file" id="input-excel" src="test.xslx"/>
<div id="wrapper">
</div>
<script>
$('#input-excel').change(function(e){
reader.readAsArrayBuffer(e.target.files[0]);
reader.onload = function(e) {
var data = new Uint8Array(reader.result);
var wb = XLSX.read(data,{type:'array'});
//var htmlstr = XLSX.write(wb,{sheet:"Kondensatoren", type:'binary',bookType:'html'});
var htmlstr = XLSX.write(wb,{sheet:"Tabelle1", type:'binary',bookType:'html'});
$('#wrapper')[0].innerHTML += htmlstr;
}
});
</script>
答案 0 :(得分:1)
您的问题令人困惑,但是这里是如何使用AJAX在服务器上请求文件而无需其他人首先上传文件。
您仍然可以使用它来做什么。
我注意到这是一个xslx文件,不像CSV那样容易解析,因此对于您的ajax请求,您需要解析二进制文件。
var oReq = new XMLHttpRequest();
oReq.open("GET", "test.xslx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var arrayBuffer = oReq.response;
// if you want to access the bytes:
var byteArray = new Uint8Array(arrayBuffer);
// ...
// create a new blob (change type to whatever)
var blob = new Blob(arrayBuffer, {type: "image/png"});
// whatever...
};
oReq.send();
答案 1 :(得分:0)
Thx @高个子。只为我的其他新手。完整的代码是。
<script src="jquery-2.1.4.min.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<div id="wrapper"></div>
<script>
var oReq = new XMLHttpRequest();
oReq.open("GET", "test.xlsx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var arrayBuffer = oReq.response;
var data = new Uint8Array(arrayBuffer);
var wb = XLSX.read(data,{type:'array'});
var htmlstr = XLSX.write(wb,{sheet:"Kondensatoren", type:'binary',bookType:'html'});
$('#wrapper')[0].innerHTML += htmlstr;
};
oReq.send();
</script>