国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP向Excel導數據(圖片)終結版 ASP操作Excel

2024-05-04 11:08:42
字體:
來源:轉載
供稿:網友
ASP向Excel導數據(圖片)終結版 ASP操作Excel,需要的朋友可以參考下。
 
 
 
相信有很多人有用程序向Excel導數據的需求, 且做過. 一般導出一些文本數據是很方便的, 可選方法很多, 比如拼接文本字符串存.cvs格式(以逗號與回車符分隔數據,默認用Excel打開), 比如把xls文件當成數據用SQL來操作 等等. 當需要導出圖片數據的時候該怎么辦? 這就需要使用Excel.Application對象. 

實際上用Excel.Application可以做到OfficeExcel軟件所能做到的全部操作, 功能相當強大. 但我們每個人學習精力有限, 不可能每個都對它很熟悉. 于是乎, 我選用了大量的關鍵詞在百度與Google上搜索, 希望能得到一些有價值的東西. 但找來找去, 沒發現一篇是完整版, 大多數是詢問的, 而且代碼中包含諸多的明顯錯誤與功能上的缺性. 值得批評的是, 大量站點直接復制他人站點文章, 而且還是劣質文章. 誒, 不找也罷! 佛曰 我不下地獄誰下地獄, 于是我給大家把這個工作給做了. 

我首先找了個VBA的手冊合集, 還好它是chm格式. 打開其中的Vbaexcelxl10.chm, 嗯, 不錯不錯, 確實是一個不錯的手冊, 但是, 它不是一個教程, 欲哭無淚… 沒辦法, 只好硬頭皮看下去. 手冊畢竟是手冊, 不會一把些細節上的便捷操作提出來, 也不會把各部分內容的邏輯關聯講得很完整. 經過我仔細的分析, 大膽的預測, 周密的思考, 大量的試驗, 上刀山,下火鍋, 不對,是火海, 好不容易才把它完美的實現了. 現在, 又把它連夜傳到Web630.Net上, 僅僅只是希望大家記住這個站點, 同時希望各技術站多點原創文章, 為中國的程序業發展做點貢獻. 
復制代碼代碼如下:

<% 
Rem 初始化ExcelApplication的工作環境 
Dim ExcelApp,eBook,eSheet 
Set ExcelApp = CreateObject(”Excel.Application”) ‘建立Excel對象 
ExcelApp.DisplayAlerts=false ‘不顯示警告 
ExcelApp.Application.Visible=false ‘不顯示界面 

Rem 初始化Excel數據 
‘ExcelApp.Workbooks.Open(Server.MapPath(”zzz.xls”)) ‘打開Excel工作本,可替換下面一行 
Set eBook=ExcelApp.Workbooks.Add ‘新建Excel工作本 
Set eBook=ExcelApp.Workbooks(1) ‘引用第一個工作本 
set eSheet = eBook.Worksheets(1) ‘引用第一個工作表 

Rem 數據導入 
Dim i,img 
i = 1 
For i=1 To 5 
eSheet.Cells(i,1).Value=”字段一”&i 
eSheet.Cells(i,2).Value=”字段二”&i 
eSheet.Cells(i,3).Value=”字段三”&i 
eSheet.Cells(i,4).Select ‘選擇第i行第4個單元單元格 
Set img=eSheet.Pictures.Insert(Server.MapPath(”people.jpg”)) ‘在上述位置插入圖片,并得到圖片的引用 
img.Top=img.Top+2 ‘調整圖片位置,下同, 否則它會壓住表格邊線 
img.Left=img.Left+2 ‘單位是磅 
eSheet.Rows(i).RowHeight=img.Height+4 ‘調整當前行的高度,讓它自動與圖片高度相同 
Next 

Rem 保存上述所做的工作 
‘eBook.Save ‘如果是打開已經存在的Excel文件,則可選用這行來代替下面一行 
eBook.SaveAs Server.MapPath(”zzz.xls”) 
Set eSheet=Nothing 
Set eBook=Nothing 
‘ExcelApp.Quit ‘一定要退出, 否則Excel的進程留在操作系統中. 
set ExcelApp = Nothing 
%> 

ASP向Exce讀取或寫入數據時, 比較簡潔的一種方法是把Excel當作數據庫使用SQL語句來操作. 網上很多地方都有相關的文章, 本文僅作為《ASP向Excel導數據(圖片)終結版》的輔助資料給大家參考. 
復制代碼代碼如下:

<% 
Dim conn,rs,sql 
Sub DBOpen() 
Dim db : db=Server.MapPath(”zzz.xls”) 
Set conn=Server.CreateObject(”Adodb.Connection”) 
On Error Resume Next 
conn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=”"Excel 8.0;HDR=YES”";Data Source=” & db 
Rem HDR 默認為YES,表示第一行作為字段名, 否則視它為內容 
Rem 對于Excel2007,而應為: “Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties=Excel 12.0;Data Source=xxx.xlsx;” 
If Err.Number<>0 then 
Err.Clear 
Response.Write(”<h1>The Database link is ERROR</h1>”) 
Response.End() 
End If 
On Error GoTo 0 
End Sub 
Sub DBClose() 
If IsNotBlank(conn) Then 
conn.Close() 
Set conn=Nothing 
End If 
End Sub 
Function IsNotBlank(ByRef TempVar) 
IsBlank = True 
Select Case VarType(TempVar) 
Case 0,1 ‘Empty & Null 
IsBlank = False 
Case 9 ‘Object 
If TypeName(TempVar) = “Nothing” Or TypeName(TempVar) = “Empty” Then 
IsBlank = False 
End If 
End Select 
End Function 

Call DBOpen() 
sql=”SELECT * FROM [Sheet1$]” ‘注意表名的寫法, 需要在工作表名的后面加符號$ 
Set rs=conn.Execute(sql) 
While Not rs.Eof 
Response.Write(rs(0)&”, “) 
Response.Write(rs(1)&”, “) 
Response.Write(rs(2)&”<br />”&VbCrLf) 
rs.Movenext 
Wend 
rs.Close : Set rs=Nothing 
Call DBClose() 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永嘉县| 古田县| 榆林市| 皮山县| 托里县| 沾化县| 舞钢市| 惠安县| 阿克| 乌鲁木齐县| 龙里县| 彭泽县| 张掖市| 咸阳市| 滕州市| 隆回县| 奉化市| 黔西县| 和静县| 通州区| 长春市| 阜康市| 宣威市| 竹北市| 留坝县| 本溪市| 上林县| 辽阳县| 江阴市| 防城港市| 明溪县| 旬邑县| 靖远县| 司法| 阿拉善盟| 隆林| 白朗县| 苗栗县| 富阳市| 合作市| 石楼县|