標題:
[分享]
獲取excel內容到頁面
[打印本頁]
作者:
HHAAMM
時間:
2010-10-19 21:13
標題:
獲取excel內容到頁面
(前提:你要允許浏覽器訪問本地)
<html>
<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;
var strSheetName = "Sheet1$";
var rsTemp = new ActiveXObject("ADODB.Recordset");
rsTemp = objCon.OpenSchema(20);
while(!rsTemp.EOF)
{
if (rsTemp("TABLE_TYPE")=="TABLE")
{
//alert(rsTemp("TABLE_NAME"));
rsExcel = new ActiveXObject("ADODB.Recordset");
strQuery = "SELECT * FROM [" + rsTemp("TABLE_NAME") + "]";
rsExcel.ActiveConnection = objCon;
rsExcel.Open(strQuery);
mm=rsTemp("TABLE_NAME")+"表内容<br><table border='1' cellspacing='0' cellpadding='0'>"
for(i = 0;i<rsExcel.Fields.Count;++i)
{
mm=mm+"<td>"+rsExcel.Fields(i).name+"</td>";
}
while(!rsExcel.EOF)
{
mm=mm+"<tr>"
for(i = 0;i<rsExcel.Fields.Count;++i)
{
mm=mm+"<td>"+rsExcel.Fields(i).value+"</td>";
}
mm=mm+"</tr>"
rsExcel.MoveNext;
}
}
document.write(mm+"</table><br>")
mm=""
rsExcel = null
rsTemp.MoveNext;
}
objCon.Close;
objCon =null;
rsExcel = null;
}
</script>
</head>
<body>
<input type="file" id="f" />
<input type="button" id="b" value="顯示工作簿內容" onClick="if(f.value=='')alert('請選擇xls文件');else importXLS(f.value)" />
</body>
</html>
複製代碼
作者:
HHAAMM
時間:
2010-10-19 21:47
回復
1#
HHAAMM
[attach]3290[/attach]
作者:
oobird
時間:
2010-10-19 21:57
謝謝,很不錯,每個工作表內容都抓出來了。
目前還不知道作何使用,下次碰到有損壞文件時試試能不能抓出來。
作者:
HHAAMM
時間:
2010-10-19 22:16
前年,單位讓編寫個在內網�堥洏峈犖纀腹A突擊了兩個星期的asp後總算是給對付出來了。在學習中感到,多用于客戶端的javascript狠有意思,又因爲喜歡excel,所以試著將兩者結合起來。這個應該沒有什麽實用價值的,編程思路是用ADO訪問數據庫,其實是狠簡單的。
作者:
oobird
時間:
2010-10-20 00:04
很好奇,有看到rsTemp = objCon.OpenSchema(20);及objCon.Close;
到底excel有沒有打開?
若損壞了正常無法開啟的文件能否取到數據?
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)