使用 ActiveXObject (JavaScript) 读取 Excel 或 OpenOffice (.ods) 文件
Posted
技术标签:
【中文标题】使用 ActiveXObject (JavaScript) 读取 Excel 或 OpenOffice (.ods) 文件【英文标题】:Read Excel or OpenOffice (.ods) files Using ActiveXObject (JavaScript) 【发布时间】:2016-03-16 06:21:59 【问题描述】:在我的系统中,我没有 MS Office,我有 Openoffice。在这里我的要求是我想用 ActiveXObject (javascript) 读取 .xls .xlsx 和 .ods 文件。通过使用下面的代码,我只读取 .xls 文件。这里我怎样才能用 ActiveXobjects 读取所有类型的 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】:要创建自动化 OpenOffice Calc 的 ActiveXObject:
var objServiceManager= new ActiveXObject("com.sun.star.ServiceManager");
见https://www.openoffice.org/udk/common/man/tutorial/office_automation.html。
我认为这个对象不会处理执行的 SQL 命令。
【讨论】:
以上是关于使用 ActiveXObject (JavaScript) 读取 Excel 或 OpenOffice (.ods) 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 ActiveXObject (JavaScript) 读取 Excel 或 OpenOffice (.ods) 文件
ActiveX控件之ActiveXObject is not defined
Google Apps脚本:引用 ActiveXObject
在没有activexobject的情况下获取上传文件的大小?