我想從經典asp導入/導出MS EXCEL數據。我已經完成了這部分。但我的問題是,當我們從MS EXCEL導入和導出數據時,我們需要在服務器上安裝MS-OFFICE。但我的客戶不想在服務器上安裝MS-OFFICE。那麼,是否有任何要從Excel導入/導出,而無需在服務器上安裝MS-OFFICE。經典asp導入/導出
在此先感謝
感謝&問候 果凍
我想從經典asp導入/導出MS EXCEL數據。我已經完成了這部分。但我的問題是,當我們從MS EXCEL導入和導出數據時,我們需要在服務器上安裝MS-OFFICE。但我的客戶不想在服務器上安裝MS-OFFICE。那麼,是否有任何要從Excel導入/導出,而無需在服務器上安裝MS-OFFICE。經典asp導入/導出
在此先感謝
感謝&問候 果凍
我沒有做我自己,但我不明白爲什麼不能。
您可以使用MS Jet數據庫引擎,這可能已經在你的服務器上 https://stackoverflow.com/a/16051/882436
或者,你可以使用這個組件: http://exceldatareader.codeplex.com/
,並使其通過COM互操作工作(所以你可以在傳統的ASP使用它)像這樣: http://msdn.microsoft.com/en-us/library/zsfww439(v=vs.71).aspx
HTH
我在過去的很多時候都做過這樣的事情;-)不幸的是,代碼無法很快找到。我發現這個例子來導入:
<%
Set ExcelConn = Server.CreateObject("ADODB.Connection")
Set ExcelRS = Server.CreateObject("ADODB.Recordset")
ExcelConn.Provider = "Microsoft.Jet.OLEDB.4.0"
ExcelConn.Properties("Extended Properties").Value = "Excel 8.0"
ExcelConn.Open "C:\Sample\Sample.xls"
'get data from sheet
sSQL = "SELECT * FROM Sample$"
set ExcelRS = ExcelConn.Execute(sSQL)
'loop through each record in Excel and write it to access
'might be slow, but will work
Do until ExcelRS.EOF
myConn.Execute("INSERT INTO Sample_tbl(lname,fname,mi) VALUES ('" & ExcelRS("0") & "', '" & ExcelRS("1") & "','" & ExcelRS("2") & "')")
ExcelRS.MoveNext
Loop
ExcelRS.Close
set ExcelRS = NOTHING
objExcelConn.Close
set ExcelConn = NOTHING
objConnAccess.close
set objConnAccess = NOTHING
%>
,這微小的片段用於出口,其中幾乎涉及到添加正確的內容類型標題:
<%@ Language=VBScript %>
<% Option Explicit
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=sample.xls"
%>
<table>
<tr>
<td>Sample</td>
</tr>
</table>
感謝您的幫助.... – jellysaini
這是你在找什麼?它工作嗎? –
這是.NET。我在經典的asp中找到解決方案。 – jellysaini
@jellysaini - 是的,你需要調整代碼才能使用經典的asp。使用OLEDB解決方案,使用傳統的ADO連接到excel文件。如果你是谷歌的話,我相信還有很多其他的例子。使用excel數據讀取器,您需要按照鏈接#3所述將其調整爲COM。 – Tom