使用ActiveXObject(JavaScript)

时间:2016-03-16 06:22:00

标签: javascript asp.net excel openoffice-calc activexobject

在我的系统中,我没有MS办公室,我有Openoffice。这里我的要求是我想用ActiveXObject(JavaScript)读取.xls .xlsx和.ods文件。使用下面的代码我只读取.xls文件。我怎样才能用ActiveX对象读取所有类型的excel文件?

    <script type="text/javascript">
    function ReadMyFile()
    {
        var ControlCn = new ActiveXObject("ADODB.Connection");
        var Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = D:\\DailyReport.ods; 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(); 

    }
    </script>
</head>
<body>
    <input type="button" value="Click To Read Your File" onClick="ReadMyFile()">
</body>

1 个答案:

答案 0 :(得分:0)

创建一个自动执行OpenOffice Calc的ActiveXObject:

var objServiceManager= new ActiveXObject("com.sun.star.ServiceManager");

请参阅https://www.openoffice.org/udk/common/man/tutorial/office_automation.html

我认为这个对象不会处理执行SQL命令。