主頁 > 知識(shí)庫 > ASP向Excel導(dǎo)數(shù)據(jù)(圖片)終結(jié)版 ASP操作Excel

ASP向Excel導(dǎo)數(shù)據(jù)(圖片)終結(jié)版 ASP操作Excel

熱門標(biāo)簽:電子圍欄 服務(wù)器配置 科大訊飛語音識(shí)別系統(tǒng) Linux服務(wù)器 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 阿里云 團(tuán)購網(wǎng)站
相信有很多人有用程序向Excel導(dǎo)數(shù)據(jù)的需求, 且做過. 一般導(dǎo)出一些文本數(shù)據(jù)是很方便的, 可選方法很多, 比如拼接文本字符串存.cvs格式(以逗號(hào)與回車符分隔數(shù)據(jù),默認(rèn)用Excel打開), 比如把xls文件當(dāng)成數(shù)據(jù)用SQL來操作 等等. 當(dāng)需要導(dǎo)出圖片數(shù)據(jù)的時(shí)候該怎么辦? 這就需要使用Excel.Application對(duì)象.

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

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

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

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

Rem 數(shù)據(jù)導(dǎo)入
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個(gè)單元單元格
Set img=eSheet.Pictures.Insert(Server.MapPath(”people.jpg”)) ‘在上述位置插入圖片,并得到圖片的引用
img.Top=img.Top+2 ‘調(diào)整圖片位置,下同, 否則它會(huì)壓住表格邊線
img.Left=img.Left+2 ‘單位是磅
eSheet.Rows(i).RowHeight=img.Height+4 ‘調(diào)整當(dāng)前行的高度,讓它自動(dòng)與圖片高度相同
Next

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

ASP向Exce讀取或?qū)懭霐?shù)據(jù)時(shí), 比較簡潔的一種方法是把Excel當(dāng)作數(shù)據(jù)庫使用SQL語句來操作. 網(wǎng)上很多地方都有相關(guān)的文章, 本文僅作為《ASP向Excel導(dǎo)數(shù)據(jù)(圖片)終結(jié)版》的輔助資料給大家參考.
復(fù)制代碼 代碼如下:

%
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 默認(rèn)為YES,表示第一行作為字段名, 否則視它為內(nèi)容
Rem 對(duì)于Excel2007,而應(yīng)為: “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$]” ‘注意表名的寫法, 需要在工作表名的后面加符號(hào)$
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()
%>
您可能感興趣的文章:
  • C#操作EXCEL DataTable轉(zhuǎn)換的實(shí)例代碼
  • C#利用com操作excel釋放進(jìn)程的解決方法
  • Asp.net操作Excel更輕松的實(shí)現(xiàn)代碼
  • ASP.NET操作EXCEL的總結(jié)篇
  • asp.net中操作Excel助手相關(guān)代碼
  • asp.net與excel互操作實(shí)現(xiàn)代碼
  • asp.net(C#)操作excel(上路篇)
  • ASP.NET操作Excel備忘錄
  • Asp.Net用OWC操作Excel的實(shí)例代碼

標(biāo)簽:大理 江蘇 廣元 蚌埠 棗莊 萍鄉(xiāng) 衢州 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP向Excel導(dǎo)數(shù)據(jù)(圖片)終結(jié)版 ASP操作Excel》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266