JavaScript读取本地Excel文件的ActiveX实现与配置指南

作者:流萤

时间:2026-10-28

浏览:421

本文提供使用JavaScript通过ActiveX控件读取本地Excel文件的完整代码示例。重点说明该方法依赖客户端安装Microsoft Office,需配置Internet选项中的可信站点及ActiveX执行权限,并包含处理日期格式等具体逻辑。仅适用于旧版IE环境,现代开发建议采用File API。

文章目录

JavaScript读取本地Excel文件的ActiveX实现与配置指南

以下是利用JavaScript读取本地Excel文件内容的具体代码实现。

具体代码实现如下:

<script type="text/javascript">
function read_excel(){
var filePath="D:\abcd9.com.xls"; //要读取的xls
 var sheet_id=2; //读取第2个表
 var row_start=3; //从第3行开始读取
 var tempStr='';
 try{
 var oXL = new ActiveXObject("Excel.application"); //创建Excel.Application对象
 }catch(err)
 {
 alert(err);
 }
 var oWB = oXL.Workbooks.open(filePath);
 oWB.worksheets(sheet_id).select();
 var oSheet = oWB.ActiveSheet;
 var colcount=oXL.Worksheets(sheet_id).UsedRange.Cells.Rows.Count ;
for(var i=row_start;i<=colcount;i++){
 if (typeof(oSheet.Cells(i,8).value)=='date'){ //处理第8列部分单元格内容是日期格式时的读取问题
 d= new Date(oSheet.Cells(i,8).value);
 temp_time=d.getFullYear()+"-"+(d.getMonth() + 1)+"-"+d.getDate();
 }
 else
 temp_time=$.trim(oSheet.Cells(i,7).value.toString());
 tempStr+=($.trim(oSheet.Cells(i,2).value)+" "+$.trim(oSheet.Cells(i,4).value)+" "+$.trim(oSheet.Cells(i,6).value.toString())+" "+temp_time+"\n");
 //读取第2、4、6、8列内容
 }
return tempStr; //返回
 oXL.Quit();
 CollectGarbage();
}
</script>

 

执行此代码必须满足以下条件:

1、客户端计算机必须安装Microsoft Excel的ActiveX控件(通常安装完整版Microsoft Office即可),并且在浏览器弹出“此网站需要运行以下加载项......”的提示时,用户需手动允许其运行。若未允许,JavaScript在尝试创建Excel.Application对象时将抛出错误。 2、由于JavaScript直接读取本地Excel文件涉及安全风险,默认浏览器设置下Microsoft Excel ActiveX控件没有执行权限。解决方法如下: a. 点击浏览器“工具”菜单,选择“Internet选项”,进入“安全”标签页,并将当前网站添加到“可信站点”列表。 b. 点击“站点(S)”按钮,将该网站的地址添加至可信站点列表中; c. 点击“自定义级别(C)...”,在安全设置列表中找到“ActiveX 控件和插件”节点,将其下的“对未标记为可安全执行脚本的 ActiveX 控件初始化并执行脚本”选项设置为“启用”。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章