如何使用JavaScript在Excel应用程序中打开Excel HTML文件

4

如何使用JavaScript或jQuery在浏览器中打开Excel HTML文件并在Excel中查看?

我一直在尝试使用window.open(href)来打开一个HTML格式的Excel文件。它在服务器上的位置是:/server/excelfiles/myexcel.xls,我想在Excel应用程序中打开它,而不是在IE浏览器的ActiveX控件中打开。是否可能在应用程序中打开文件而不是在浏览器中打开?

4个回答

2

两种方法:

<a href="/server/excelfiles/myexcel.xls" target="_blank">open myexcel.xls</a> 

或通过JS:

function openExcelFile(strFilePath) {
    if (window.ActiveXObject) {
        try {
            var objExcel;
            objExcel = new ActiveXObject("Excel.Application");
            objExcel.Visible = true;
            objExcel.Workbooks.Open(strLocation, false, [readonly: true|false]);
        }
        catch (e) {
            alert (e.message);
        }
    }
    else {
        alert ("Your browser does not support this.");
    }
}

1
嗨,如果不在服务器上安装一堆 Excel 组件,我无法让它正常工作。我正在尝试避免这种情况。 - RetroCoder
这纯粹是客户端操作(例外是它只是IE浏览器的解决方案)。不确定为什么您需要在服务器上安装任何内容。只是好奇,您在服务器上具体做了什么? - Mrchief
1
Excel文档位于服务器上,并可通过URL访问。如果客户端未安装ActiveX或未拥有Excel,则仍需要能够下载Excel文件。 - RetroCoder
那么,在这种情况下,使用超链接方法。或者,在else块中,您可以尝试打开Excel文件本身。类似于:window.open("/server/excelfiles/myexcel.xls") - Mrchief
这在IE 11中不起作用,我得到了“您的浏览器不支持此项。” - Nk SP
@NkSP 检查是否启用了ActiveX。 - Mrchief

1
如果你链接到xls文件,用户将被询问是否要下载它(或者将自动下载)...然后,根据他的设置,它将自动在Excel中打开,或者更有可能的是,它只会出现在他的下载文件夹中,他需要手动打开它。

谢谢,但我认为这更多与由[]括起来的UNC路径有关。我正在尝试使其像其他地方一样正常工作。 - RetroCoder
1
UNC路径?所以这是用于内部网络?挺有用的信息 :) - roberkules

1
在JavaScript中,由于安全原因,您无法访问客户端软件或硬盘。您只能触发xls文件的下载并手动打开它。

xls文件在服务器上。在jQuery中,我想以编程方式打开Excel文件,但由于客户端的UNC路径不正确,我遇到了困难。我想我只会去<a href="httlocationonthroughtheserver.xls">Excel文件</a>。 - RetroCoder

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接