【ASP】使用OLEDB將資料匯出成Excel檔
首先,手動產生Excel檔做為輸出範本。
程式部分:
<%
'Sample檔
reportfile=Server.MapPath("/client/user/客戶匯出格式.xls")
'欲匯出檔
FileXLS = Server.MapPath("/client/user/客戶.xls")
'檔案複製
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(reportfile)
f.Copy FileXLS
set f=nothing : set fs=nothing
sqlstr="SELECT * FROM [Customer]"
set rs=Exec_Record(sqlstr)
if not rs.eof then
'建立Excel連線
set cn= Server.createobject("Adodb.connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & FileXLS & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'【註二】可以自行產生標題(Excel範本無標題前提之下)
do while not rs.eof
'標題定義過的寫法 【註一】
'cn.Execute "INSERT INTO [MyTable] (名稱,公司電話,公司傳真) VALUES ('aaa','123','456')" 'TEST
sql="INSERT INTO [Sheet1$] " & _
"([名稱],[國家],[城市],[公司電話],[公司傳真],[網站],[聯絡人姓名],[職稱],[聯絡人Email]," & _
"[聯絡人電話],[資訊來源],[備註])" & _
" VALUES ('" & trim(rs("Company")) & "','" & trim(rs("Country")) & "', '" & trim(rs("City")) & "'," & _
"'" & trim(rs("Company_Tel")) & "','" & trim(rs("Company_Fax")) & "','" & trim(rs("Company_Web")) & "'," & _
"'" & trim(rs("Contact_person")) & "','" & trim(rs("Contact_Job_title")) & "','" & trim(rs("Contact_Email")) & "'," & _
"'" & trim(rs("Contact_Tel")) & "','" & trim(rs("source")) & "','" & trim(rs("Memo")) & "')"
'cn.Execute "INSERT INTO [Sheet1$] (名稱,公司電話,公司傳真) VALUES ('aaa','123','456')" 'TEST
cn.Execute sql
rs.movenext
loop
cn.Close : Set cn = Nothing
end if
rs.close : set rs = nothing
%>
執行畫面(Excel範本):

【註一】:Table [Sheet1$]可使用"標題定義寫法",[Sheet1$]改寫為[MyTable],如何"標題定義"參照下圖。

【註二】:語法僅供參考
'建立Table Name
cn.Execute "CREATE TABLE [client] (名稱 varchar, 公司電話 varchar, 公司傳真 varchar)"
'定義預設值
cn.Execute "UPDATE [client] SET 名稱 = ''"
cn.Execute "UPDATE [client] SET 公司電話 = ''"
cn.Execute "UPDATE [client] SET 公司傳真 = ''"
資源參考:
https://dotblogs.com.tw/jeff-yeh/2008/04/09/2647
For C# 使用OLEDB將資料匯出檔案為Excel檔
http://www.cnblogs.com/oomusou/archive/2009/09/30/vb6_read_write_excel.html
如何使用VB讀寫Excel檔? (Visual BASIC) (Excel)
https://support.microsoft.com/zh-tw/kb/278973
ExcelADO 示範使用 ADO 在 Excel 活頁簿讀取和寫入資料的方法
https://support.microsoft.com/zh-tw/kb/247412
INFO:將資料從 Visual Basic 傳送至 Excel 的方法


留言
張貼留言