2012-05-24 145 views
0

我想從經典asp導入/導出MS EXCEL數據。我已經完成了這部分。但我的問題是,當我們從MS EXCEL導入和導出數據時,我們需要在服務器上安裝MS-OFFICE。但我的客戶不想在服務器上安裝MS-OFFICE。那麼,是否有任何要從Excel導入/導出,而無需在服務器上安裝MS-OFFICE。經典asp導入/導出

在此先感謝

感謝&問候 果凍

回答

0

我沒有做我自己,但我不明白爲什麼不能。

您可以使用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

+0

這是.NET。我在經典的asp中找到解決方案。 – jellysaini

+0

@jellysaini - 是的,你需要調整代碼才能使用經典的asp。使用OLEDB解決方案,使用傳統的ADO連接到excel文件。如果你是谷歌的話,我相信還有很多其他的例子。使用excel數據讀取器,您需要按照鏈接#3所述將其調整爲COM。 – Tom

1

我在過去的很多時候都做過這樣的事情;-)不幸的是,代碼無法很快找到。我發現這個例子來導入:

<% 
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> 
+0

感謝您的幫助.... – jellysaini

+0

這是你在找什麼?它工作嗎? –