已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一種用ASP+模板生成Word、Excel、靜態(tài)頁面一種簡(jiǎn)單、靈活多變的辦法由于工作的需要,我需要為客戶做一個(gè)在線生成Excel及Word報(bào)表程序,參考了網(wǎng)上很多辦法,大多數(shù)都是采用Excel.Application(/tech/program/2006/3547.asp)組件來生成,發(fā)現(xiàn)容易出錯(cuò),而且對(duì)于大多數(shù)和我一樣的菜鳥來說,比較麻煩,考慮到前些天用ASP+模板+adodb.stream生成靜態(tài)頁面的辦法,經(jīng)過多次嘗試,終于掌握了一種用ASP+模板生成Excel和word的新的辦法,先分享如下: 用模板生成Excel、Word最大優(yōu)點(diǎn): Word、Excel文檔樣式易于控制和調(diào)整,以往用Excel.Application來生成Excel、Word,需要寫很多代碼來控制排版的樣式,用模版幾乎不受任何限制,只需要打開word或Excel,編輯文檔,選擇文件-另存為web頁,即可方便的做好模板,用office生成的模板要比直接在DW中做好模板更加符合office偏好,生成后文件樣式可與原word、Excel格式99%一樣,因此建議大家用office(office97office2003)直接來生成模板框架。演示:/aspCreate/ 主要的代碼function.asp%歡迎與我交流和學(xué)習(xí)作者:幸福的子彈BLOG:/blogE-mail:QQ:-開啟容錯(cuò)機(jī)制 on error resume next 功能,檢測(cè)服務(wù)器是否支持指定組件Function object_install(strclassstring) on error resume next object_install=false dim xtestobj set xtestobj=server.createobject(strclassstring) if - Err then object_install=true set xtestobj=nothingend functionif object_install(Scripting.FileSystemobject)=false then Response.Write 對(duì)不起,您的空間不支持FSO組件,請(qǐng)與管理員聯(lián)系! Response.Endend ifif object_install(adodb.stream)=false then Response.Write 對(duì)不起,您的空間不支持adodb.stream功能,請(qǐng)與管理員聯(lián)系! Response.Endend if-函數(shù)名稱:ReadTextFile作用:利用AdoDb.Stream對(duì)象來讀取文本文件參數(shù):FileUrl文件相對(duì)路徑,F(xiàn)ileCharSet:文件編碼Function ReadFromTextFile (FileUrl,FileCharSet)函數(shù) dim str set stm=server.CreateObject(adodb.stream) stm.Type=2 指定或返回的數(shù)據(jù)類型, stm.mode=3 指定打開模式,現(xiàn)在為可以讀寫模式,類似于word的只讀或鎖定功能 stm.charset=FileCharSet stm.open stm.loadfromfile server.MapPath(FileUrl) str=stm.readtext ReadFromTextFile=strEnd Function-函數(shù)名稱:WriteToTextFile作用:利用AdoDb.Stream對(duì)象來寫入文本文件sub WriteToTextFile(FileUrl,Str,FileCharSet) 方法 set stm=server.CreateObject(adodb.stream) stm.Type=2 stm.mode=3 stm.charset=FileCharSet stm.open stm.WriteText str stm.SaveToFile server.MapPath(FileUrl),2 stm.flushEnd sub-功能:自動(dòng)創(chuàng)建文件夾創(chuàng)建一級(jí)或多級(jí)目錄,可以創(chuàng)建不存在的根目錄參數(shù):要?jiǎng)?chuàng)建的目錄名稱,可以是多級(jí)返回邏輯值,True成功,F(xiàn)alse失敗創(chuàng)建目錄的根目錄從當(dāng)前目錄開始Function CreateMultiFolder(ByVal CFolder)Dim objFSO,PhCreateFolder,CreateFolderArray,CreateFolderDim i,ii,CreateFolderSub,PhCreateFolderSub,BlInfoBlInfo = FalseCreateFolder = CFolderOn Error Resume NextSet objFSO = Server.CreateObject(Scripting.FileSystemObject)If Err ThenErr.Clear()Exit FunctionEnd IfCreateFolder = Replace(CreateFolder,/)If Left(CreateFolder,1)=/ ThenCreateFolder = Right(CreateFolder,Len(CreateFolder)-1)End IfIf Right(CreateFolder,1)=/ ThenCreateFolder = Left(CreateFolder,Len(CreateFolder)-1)End IfCreateFolderArray = Split(CreateFolder,/)For i = 0 to UBound(CreateFolderArray)CreateFolderSub = For ii = 0 to iCreateFolderSub = CreateFolderSub & CreateFolderArray(ii) & /NextPhCreateFolderSub = Server.MapPath(CreateFolderSub)If Not objFSO.FolderExists(PhCreateFolderSub) ThenobjFSO.CreateFolder(PhCreateFolderSub)End IfNextIf Err ThenErr.Clear()ElseBlInfo = TrueEnd IfCreateMultiFolder = BlInfoEnd Function點(diǎn)擊下載提示function downloadFile(strFile) strFilename = server.MapPath(strFile) Response.Buffer = True Response.Clear Set s = Server.CreateObject(ADODB.Stream) s.Open s.Type = 1 on error resume next Set fso = Server.CreateObject(Scripting.FileSystemObject) if not fso.FileExists(strFilename) then Response.Write(Error: & strFilename & does not exist) Response.End end if Set f = fso.GetFile(strFilename) intFilelength = f.size s.LoadFromFile(strFilename) if err then Response.Write(Error: & err.Description & ) Response.End end if Response.AddHeader Content-Disposition, attachment; filename= & Response.AddHeader Content-Length, intFilelength Response.CharSet = UTF-8 Response.ContentType = application/octet-stream Response.BinaryWrite s.Read Response.Flush s.Close Set s = NothingEnd Function-If Err Then err.Clear Set conn = Nothing Response.Write 網(wǎng)站異常出錯(cuò),請(qǐng)與管理員聯(lián)系,謝謝! Response.EndEnd If%創(chuàng)建文件dim templateName,templatechar,filepath,filename,fileCharset,templateContent templateName=template/template_html.htm 模板名字,支持帶路徑,如/moban/moban1.htm或temp/moban1.htm templatechar=gb2312 模板文本的編碼 filepath=files/html/ 生成文件保存的路徑,當(dāng)前目錄請(qǐng)留空,其他目錄,路徑必須以“/”結(jié)尾 filename=Untitled-1.htm 即將生成的文件名 CreateMultiFolder(filepath) 這一句用來判斷文件夾是否存在,沒有則自動(dòng)創(chuàng)建,支持n級(jí)目錄 fileCharset=gb2312 打算生成的文本編碼讀取指定的模板內(nèi)容templateContent=ReadFromTextFile(templateName,templatechar) 以下就交給你來替換模板內(nèi)容了templateContent=replace(templateContent,$websiteName,藍(lán)色理想)templateContent=replace(templateContent,$userName,幸福的子彈)tem
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版航空輪胎進(jìn)出口貿(mào)易合同樣本4篇
- 二零二五年度居間合作補(bǔ)充協(xié)議-房地產(chǎn)項(xiàng)目合作共贏方案3篇
- 2025年人力資源勞動(dòng)派遣服務(wù)合同格式
- 2025年度旅游度假居間服務(wù)合作協(xié)議4篇
- 2025年版人工智能技術(shù)研發(fā)與應(yīng)用服務(wù)合同樣本3篇
- 股權(quán)轉(zhuǎn)讓協(xié)議(二零二五年度):含有連鎖酒店經(jīng)營(yíng)權(quán)的轉(zhuǎn)讓3篇
- 2025年度跨境電商平臺(tái)知識(shí)產(chǎn)權(quán)保護(hù)及合作框架協(xié)議2篇
- 二零二五年度高端建筑深井降水施工合作協(xié)議2篇
- 2025年度跨境電子商務(wù)平臺(tái)服務(wù)貿(mào)易三方合作協(xié)議4篇
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心租賃合同網(wǎng)絡(luò)服務(wù)保障補(bǔ)充4篇
- 小學(xué)四年級(jí)數(shù)學(xué)知識(shí)點(diǎn)總結(jié)(必備8篇)
- GB/T 893-2017孔用彈性擋圈
- GB/T 11072-1989銻化銦多晶、單晶及切割片
- GB 15831-2006鋼管腳手架扣件
- 醫(yī)學(xué)會(huì)自律規(guī)范
- 商務(wù)溝通第二版第4章書面溝通
- 950項(xiàng)機(jī)電安裝施工工藝標(biāo)準(zhǔn)合集(含管線套管、支吊架、風(fēng)口安裝)
- 微生物學(xué)與免疫學(xué)-11免疫分子課件
- 《動(dòng)物遺傳育種學(xué)》動(dòng)物醫(yī)學(xué)全套教學(xué)課件
- 弱電工程自檢報(bào)告
- 民法案例分析教程(第五版)完整版課件全套ppt教學(xué)教程最全電子教案
評(píng)論
0/150
提交評(píng)論