<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<script language="javascript" type="text/javascript">
function importXLS(fileName)
{
objCon = new ActiveXObject("ADODB.Connection");
objCon.Provider = "Microsoft.Jet.OLEDB.4.0";
objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
objCon.CursorLocation = 1;
objCon.Open;
var strQuery;
//Get the SheetName
var strSheetName = "Sheet1$";
var rsTemp = new ActiveXObject("ADODB.Recordset");
rsTemp = objCon.OpenSchema(20);
if(!rsTemp.EOF)
strSheetName = rsTemp.Fields("Table_Name").Value;
rsTemp = null
rsExcel = new ActiveXObject("ADODB.Recordset");
strQuery = "SELECT * FROM [" + strSheetName + "]";
rsExcel.ActiveConnection = objCon;
rsExcel.Open(strQuery);
//按行循环
while(!rsExcel.EOF)
{
//rsExcel.Fields.Count行的列数
for(i = 0;i<rsExcel.Fields.Count;++i)
{
alert("i="+i);
alert(rsExcel.Fields(i).value);
alert(rsExcel.Fields("q").value); //行中指定字段的值
}
rsExcel.MoveNext; //转到下一行
}
// Close the connection and dispose the file
objCon.Close;
objCon =null;
rsExcel = null;
}
</script>
</head>
<body>
<input type="file" id="f" />
<input type="button" id="b" value="import" οnclick="if(f.value=='')alert('请选择xls文件');else importXLS(f.value)" />
</body>
</html>
在调用操作引擎的时候,上面的方法只能够打开Office2003,而用下面的方法可以同时打开2003和2007:
objCon.Provider = "Microsoft.ACE.OLEDB.12.0";
objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 12.0;";