使用javascript读取xls或xlsx文件

使用javascript读取xls或xlsx文件,javascript,activex,Javascript,Activex,我正在通过java脚本读取一个xls文件 function upload1() { var ControlCn = new ActiveXObject("ADODB.Connection"); var Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\\TEST.xls;Persist Security Info=False;Extended Properties=Excel 8.0;"; ControlC

我正在通过java脚本读取一个xls文件

function upload1()
{
    var ControlCn = new ActiveXObject("ADODB.Connection");
    var Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\\TEST.xls;Persist Security Info=False;Extended Properties=Excel 8.0;";
    ControlCn.Open(Conn);
    var rs = new ActiveXObject("ADODB.Recordset");
    var SQL = "select * from [Sheet1$]";
    rs.Open(SQL, ControlCn);
    if(rs.bof)
    {
        document.write('No Data Avaliable');
    } 
    if(!rs.bof)
    {
        rs.MoveFirst()
        while(!rs.eof)
        {
            for(var i=0; i!= rs.fields.count; ++i)
            {                            
                document.write(rs.fields(i).value + ", ");
            }
            document.write("<br />");
            rs.MoveNext()
        }
    }
    rs.Close();
    ControlCn.Close(); 
}
函数上传1()
{
var ControlCn=新的ActiveXObject(“ADODB.Connection”);
var Conn=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=C:\\TEST.xls;持久安全信息=False;扩展属性=excel8.0;”;
控制网络开放(康涅狄格州);
var rs=新的ActiveXObject(“ADODB.Recordset”);
var SQL=“从[Sheet1$]中选择*”;
rs.Open(SQL、ControlCn);
如果(卢比转炉)
{
文件。写入(“无可用数据”);
} 
如果(!rs.bof)
{
R.MoveFirst()
而(!rs.eof)
{
对于(变量i=0;i!=rs.fields.count;++i)
{                            
文件。写入(rs.fields(i).值+“,”;
}
文件。写(“
”); R.MoveNext() } } rs.Close(); ControlCn.Close(); }
在第三行中,我们给出了要读取的xls文件的路径。是否可以通过一个浏览按钮动态获取excel文件?您可以尝试以下操作:

<input type="file" id="myexcelfile"/>

您可以在代码中使用“filepath”变量来传递excel工作表名称

我已经尝试了这个方法,并且工作正常,但是我想要的是在第三行中,我们给出了路径C://test.xls…我们可以使用它来代替它,以便动态获取excel。我已经回答了同样的问题。您可以使用我的答案中的filepath变量动态构造文件路径
var Conn=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=“+filepath+”;持久化安全信息=False;扩展属性=excel8.0;”如果这解决了您的问题,请将我的答案标记为已接受:-)嘿,ashish如果这样做,那么它不是在阅读…现在该做什么…?您是否收到任何js错误,如果是,请共享该信息。另外,请注意变量“Conn”的值,并查看其构造。这样可以进一步调试。
var filepath=document.getElementById("myexcelfile").value;