通过Javascript读取本地Excel文件内容的代码示例_javascript技巧

读取本地Excel文件内容的Javascript代码:

复制代码 代码如下:

<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即可),并在浏览器弹出“此网站需要运行以下加载项......”的提示时允许运行,否则js代码在创建Excel.Application对象时会出错。
2、JS读取本地Excel文件涉及到安全问题,默认设置下Microsoft Excel activex控件无执行权限。解决方案如下:
a. 点击浏览器“工具” -> “Internet选项” -> “安全”,选择“可信站点”。
b. 点击“站点(S)”按钮,将本网站添加到列表中;
c. 点击“自定义级别(C)...”,在安全设置中找到“ActiveX 控件和插件”节点下的“对未标记为可安全执行脚本的 ActiveX 控件初始化并执行脚本”,将其设置为“启用”。

时间: 2024-09-14 09:40:50

通过Javascript读取本地Excel文件内容的代码示例_javascript技巧的相关文章

通过Javascript读取本地Excel文件内容的代码示例

 这篇文章主要介绍了通过Javascript读取本地Excel文件内容的代码示例,但需要一定的条件才可以使用js操作本地文件,需要的朋友参考下吧 读取本地Excel文件内容的Javascript代码:    代码如下: <script type="text/javascript"> function read_excel(){       var filePath="D:abcd9.com.xls"; //要读取的xls     var sheet_id

html-如何利用javascript读取本地Excel的部分数据

问题描述 如何利用javascript读取本地Excel的部分数据 我想做一个场所的查询系统,在主界面的地图上标注出场所来,点击场所可以跳转到这个场所对应的html界面来展示详细信息,这样的话就得有很多个的html来做跳转用,因为每个场所的html除了title,场所的文字描述和两张图片不同,其余的都是相同的. 我想知道能不能在本地创建一个excel表格把所有场所的属性信息都写在表格里,只需要写一个跳转的html,不同的值通过调用表格上对应的值就行了. 不知道该如何实现,求大神指导 解决方案 不

JavaScript File API实现文件上传预览_javascript技巧

一.概述以往对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情.虽然伴随着 Web 2.0 应用技术的不断发展,JavaScript 正在扮演越来越重要的角色,但是出于安全性的考虑,JavaScript 一直是无法访问本地文件的.于是,为了在浏览器中能够实现诸如拖拽并上传本地文件这样的功能,我们就不得不求助于特定浏览器所提供的各种技术了.比如对于 IE,我们需要通过 ActiveX 控件来获取对本地文件的访问能力,而对于 Firefox,同样也要借助插件开发.由于不同浏览器的技术实现不尽相

使用Ajax生成的Excel文件并下载的实例_javascript技巧

很久沒有寫文章啦,今天分享一個如何在ASP.NET MVC里使用Ajax下載生成文件的方法,以下只是個人心得: 大家都應該知道,在ASP.NET MVC里,如果通過Ajax調用后臺控制器時,可以返回一個JSON對象,但并不能直接返回文件(除非刷新頁面,那就不是Ajax啦),所以如果想用Ajax生成文件并下載的話,那只要將生成的文件先保存到服務器上,然後再將文件路徑通過JSON返回,之後才可以進行下載,當然由於是暫時性存放,所以當下載完后就需要馬上刪除相應的文件. 以下是做法以動態生成Excel為

js导出excel文件的简洁方法(推荐)_javascript技巧

用js可以直接在jsp页面导出数据到excel文件,方法很简洁,如下: 第一,准备一个jsp(暂时取名为export.jsp),内容为: <%@ page contentType="text/html; charset=GBK"%> <% String context = request.getParameter("sContent"); response.setHeader("Content-type","appli

JavaScript实现控制打开文件另存为对话框的方法_javascript技巧

本文实例讲述了JavaScript实现控制打开文件另存为对话框的方法.分享给大家供大家参考.具体如下: 这里通过JS打开图片另存为对话框,提示用户保存文件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title> New Document </title> <meta name="Generator&

javascript实现框架高度随内容改变的方法_javascript技巧

本文实例讲述了javascript实现框架高度随内容改变的方法.分享给大家供大家参考.具体如下: 有两种方法: 一.就是通过父页面改变 这里要理解框架的两个属性 contentWindow 和contentDocument 两个属性的意思和window document意思差不多,不同的是contentWindow 所有浏览器都支持,contentDocument   ie6,7不支持,chrome 也不支持 <iframe onload="change_height()">

JavaScript编写检测用户所使用的浏览器的代码示例_javascript技巧

能力检测在编写代码之前先检测特定浏览器的能力.例如,脚本在调用某个函数之前,可能要先检测该函数首付存在.这种检测方法将开发人员从考虑具体的浏览器类型和版本中解放出来,让他们把注意力集中到相应的能力是否存在上.能力检测无法精确地检测特定的浏览器和版本. 怪癖检测怪癖实际上是浏览器实现中存在的bug,例如早期的webkit中就存在一个怪癖,即它会再for-in循环中返回被隐藏的属性.怪癖检测通常涉及到运行一段代码,然后确定浏览器是否存在某个怪癖.由于怪癖检测无法精确地检测特定的浏览器和版本. 用户代

javascript实现标签切换代码示例_javascript技巧

两则代码都很简单,这里就不多废话了,直接上代码 代码1, function ntabs(thisObj,Num) {if(thisObj.className == "active")return; var tabObj = thisObj.parentNode.id; var tabList = document.getElementById(tabObj).getElementsByTagName("li"); for(i=0; i <tabList.len