图片就是一个alert的调试出的提示结果 ,里面基本上所有信息都是undefined很郁闷

解决方案 »

  1.   

    我用了个自己的excel文件,没有看到有空值的现象,除非excel中单元格值就是为空。
    lz不妨把excel文件贴出来,再看下到底是那边的出错。
      

  2.   

       经过测试,我已找到问题原因和大家分享一下,主要问题,问题在EXCEL的模版上面 ,由于读取的EXCEL模版的具体单元格里面是有跨列操作的,举个例子,我想读取
        oSheet.Cells(2,3).value; 即单元格2行3列的内容,正常情况下是没有问题的,但是由于模版2行3列实际是一个跨列单元格,即2行3列到2行7列。顾代码无法获得正确的值 ,修改原先代码如下,既解决相关问题,采用Range对象替代。
        oSheet.Range("C2").value;
      

  3.   

    转载一个例子:
    采用javascript读取本地excel文档数据示例代码:<script language="javascript">
    function readThis(){
     var tempStr = "";
     var filePath= document.all.upfile.value;
     var oXL = new ActiveXObject("Excel.application");
     var oWB = oXL.Workbooks.open(filePath);
     oWB.worksheets(1).select();
     var oSheet = oWB.ActiveSheet;
     try{
      for(var i=2;i<46;i++){
       if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" )
        break;
       var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value;
       tempStr+=("  "+oSheet.Cells(i,2).value+
        "  "+oSheet.Cells(i,3).value+
        "  "+oSheet.Cells(i,4).value+
        "  "+oSheet.Cells(i,5).value+
        "  "+oSheet.Cells(i,6).value+"\n");
      }
     }catch(e){
      //alert(e);
      document.all.txtArea.value = tempStr;
     }
     document.all.txtArea.value = tempStr;
     oXL.Quit();
     CollectGarbage();
    }
    </script>
    <html>
    <input type="file" id="upfile" /><input type="button" onclick="readThis();" value="读取">
    <br>
    <textarea id="txtArea" cols=50 rows=10></textarea>
    </html>