ASP+模板生成Word、Excel、html
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
用模板生成excel、word最大優(yōu)點: '歡迎與我交流和學(xué)習(xí) '作者:幸福的子彈 'blog:http://mysheji.com/blog 'e-mail:zhaojiangang@gmail.com 'qq:37294812 '----------------------------------------------------------------------------- '開啟容錯機制 on error resume next '功能,檢測服務(wù)器是否支持指定組件 function object_install(strclassstring) on error resume next object_install=false dim xtestobj set xtestobj=server.createobject(strclassstring) if -2147221005 <> err then object_install=true set xtestobj=nothing end function if object_install("scripting.filesystemobject")=false then response.write " 對不起,您的空間不支持fso組件,請與管理員聯(lián)系! "response.end end if if object_install("adodb.stream")=false then response.write " 對不起,您的空間不支持adodb.stream功能,請與管理員聯(lián)系! "response.end end if '----------------------------------------------------------------------------- '函數(shù)名稱:readtextfile '作用:利用adodb.stream對象來讀取文本文件 '參數(shù):fileurl文件相對路徑,filecharset:文件編碼 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=str end function '----------------------------------------------------------------------------- '函數(shù)名稱:writetotextfile '作用:利用adodb.stream對象來寫入文本文件 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.flush end sub '----------------------------------------------------------------------------- '功能:自動創(chuàng)建文件夾 '創(chuàng)建一級或多級目錄,可以創(chuàng)建不存在的根目錄 '參數(shù):要創(chuàng)建的目錄名稱,可以是多級 '返回邏輯值,true成功,false失敗 '創(chuàng)建目錄的根目錄從當(dāng)前目錄開始 function createmultifolder(byval cfolder) dim objfso,phcreatefolder,createfolderarray,createfolder dim i,ii,createfoldersub,phcreatefoldersub,blinfo blinfo = false createfolder = cfolder on error resume next set objfso = server.createobject("scripting.filesystemobject") if err then err.clear() exit function end if createfolder = replace(createfolder,"","/") if left(createfolder,1)="/" then createfolder = right(createfolder,len(createfolder)-1) end if if right(createfolder,1)="/" then createfolder = left(createfolder,len(createfolder)-1) end if createfolderarray = split(createfolder,"/") for i = 0 to ubound(createfolderarray) createfoldersub = "" for ii = 0 to i createfoldersub = createfoldersub & createfolderarray(ii) & "/" next phcreatefoldersub = server.mappath(createfoldersub) if not objfso.folderexists(phcreatefoldersub) then objfso.createfolder(phcreatefoldersub) end if next if err then err.clear() else blinfo = true end if createmultifolder = blinfo end function '點擊下載提示 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") error:" & err.description & "") 網(wǎng)站異常出錯,請與管理員聯(lián)系,謝謝! "response.end end if %>
<% 生成excel文檔: <%'創(chuàng)建文件 dim templatename,templatechar,filepath,filename,filecharset,templatecontent templatename="template/template_excel.htm" '模板名字,支持帶路徑,如"/moban/moban1.htm"或"temp/moban1.htm" templatechar="gb2312" '模板文本的編碼 filepath="files/excel/" '生成文件保存的路徑,當(dāng)前目錄請留空,其他目錄,路徑必須以“/”結(jié)尾 filename="book1.xls" '即將生成的文件名 createmultifolder(filepath) '這一句用來判斷文件夾是否存在,沒有則自動創(chuàng)建,支持n級目錄 filecharset="gb2312" '打算生成的文本編碼 '讀取指定的模板內(nèi)容 templatecontent=readfromtextfile(templatename,templatechar) '以下就交給你來替換模板內(nèi)容了 templatecontent=replace(templatecontent,"{$websitename}","藍色理想") templatecontent=replace(templatecontent,"{$username}","幸福的子彈") templatecontent=replace(templatecontent,"{$now}",now()) '其他內(nèi)容...... '最終調(diào)用函數(shù)來生成文件 call writetotextfile(filepath&filename,templatecontent,filecharset) '最后關(guān)閉adodb.stream對象 stm.flush stm.close set stm=nothing downloadfile(filepath&filename) %>
'創(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)前目錄請留空,其他目錄,路徑必須以“/”結(jié)尾 filename="untitled-1.htm" '即將生成的文件名 createmultifolder(filepath) '這一句用來判斷文件夾是否存在,沒有則自動創(chuàng)建,支持n級目錄 filecharset="gb2312" '打算生成的文本編碼 '讀取指定的模板內(nèi)容 templatecontent=readfromtextfile(templatename,templatechar) '以下就交給你來替換模板內(nèi)容了 templatecontent=replace(templatecontent,"{$websitename}","藍色理想") templatecontent=replace(templatecontent,"{$username}","幸福的子彈") templatecontent=replace(templatecontent,"{$now}",now()) '其他內(nèi)容...... '最終調(diào)用函數(shù)來生成文件 call writetotextfile(filepath&filename,templatecontent,filecharset) '最后關(guān)閉adodb.stream對象 stm.flush stm.close set stm=nothing response.write("恭喜您,"&filename&"已經(jīng)生成,點擊查看") %> 打包下載[upload=rar]201073141210-2.rar[/upload] 該文章在 2010/7/3 14:12:15 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |