我已经尝试了好几天来解决这个问题,这让我发疯了。我尝试使用HTML和JavaScript读取Excel数据。
当我执行以下操作时,没有任何作用
function getExcelData() {
var ex;
try {
ex = new ActiveXObject("Excel.Application");
} catch (e) {
alert('Your browser does not support the Activex object.\nPlease switch to Internet Explorer.');
return false;
}
ex.Workbooks.Open("C:\Users\me\Desktop\test.xlsx");
var eSheet = ex.Worksheets("Sheet2");
但是当我做同样的事情时,只添加我不需要/想要的多层代码,它确实有用。
function _get(id) {
return document.getElementById(id);
}
function getExcelData() {
var filePath = _get('filePath');
var ex;
try {
ex = new ActiveXObject("Excel.Application");
} catch (e) {
alert('Your browser does not support the Activex object.\nPlease switch to Internet Explorer.');
return false;
}
ex.Workbooks.Open(filePath.value);
var eSheet = ex.Worksheets("Sheet2");
<INPUT TYPE="hidden" ID="filePath" value="C:\Users\me\Desktop\test.xlsx" hidden="true">
我已经检查过,filePath.value与&#34; C:\ Users \ me \ Desktop \ test.xlsx&#34;完全相同。在线我发现如何从excel上传数据的每个例子都将文件路径直接放入Workbooks.Open,那么为什么这对我不起作用,为什么这个解决方法起作用呢?谢谢,如果你能帮忙的话!
答案 0 :(得分:0)
在Javascript中,您需要转义字符串文字中的任何反斜杠:
ex.Workbooks.Open("C:\\Users\\me\\Desktop\\test.xlsx");
当值来自输入时,无需转义斜杠