一种用ASP+模板生成Word、Excel、静态页面一种简单、灵活多变的办法_第1页
一种用ASP+模板生成Word、Excel、静态页面一种简单、灵活多变的办法_第2页
一种用ASP+模板生成Word、Excel、静态页面一种简单、灵活多变的办法_第3页
一种用ASP+模板生成Word、Excel、静态页面一种简单、灵活多变的办法_第4页
一种用ASP+模板生成Word、Excel、静态页面一种简单、灵活多变的办法_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档一种用ASP+模板生成Word、Excel、静态页面一种简单、灵活多变的办法由于工作的需要,我需要为客户做一个在线生成Excel及Word报表程序,参考了网上很多办法,大多数都是采用Excel.Application(/tech/program/2006/3547.asp)组件来生成,发现容易出错,而且对于大多数和我一样的菜鸟来说,比较麻烦,考虑到前些天用ASP+模板+adodb.stream生成静态页面的办法,经过多次尝试,终于掌握了一种用ASP+模板生成Excel和word的新的办法,先分享如下: 用模板生成Excel、Word最大优点: Word、Excel文档样式易于控制和调整,以往用Excel.Application来生成Excel、Word,需要写很多代码来控制排版的样式,用模版几乎不受任何限制,只需要打开word或Excel,编辑文档,选择文件-另存为web页,即可方便的做好模板,用office生成的模板要比直接在DW中做好模板更加符合office偏好,生成后文件样式可与原word、Excel格式99%一样,因此建议大家用office(office97office2003)直接来生成模板框架。演示:/aspCreate/ 主要的代码function.asp%欢迎与我交流和学习作者:幸福的子弹BLOG:/blogE-mail:QQ:37294812-开启容错机制 on error resume next 功能,检测服务器是否支持指定组件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=nothingend functionif object_install(Scripting.FileSystemobject)=false then Response.Write 对不起,您的空间不支持FSO组件,请与管理员联系! Response.Endend ifif object_install(adodb.stream)=false then Response.Write 对不起,您的空间不支持adodb.stream功能,请与管理员联系! Response.Endend if-函数名称:ReadTextFile作用:利用AdoDb.Stream对象来读取文本文件参数:FileUrl文件相对路径,FileCharSet:文件编码Function ReadFromTextFile (FileUrl,FileCharSet)函数 dim str set stm=server.CreateObject(adodb.stream) stm.Type=2 指定或返回的数据类型, stm.mode=3 指定打开模式,现在为可以读写模式,类似于word的只读或锁定功能 stm.charset=FileCharSet stm.open stm.loadfromfile server.MapPath(FileUrl) str=stm.readtext ReadFromTextFile=strEnd Function-函数名称: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.flushEnd sub-功能:自动创建文件夹创建一级或多级目录,可以创建不存在的根目录参数:要创建的目录名称,可以是多级返回逻辑值,True成功,False失败创建目录的根目录从当前目录开始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点击下载提示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 网站异常出错,请与管理员联系,谢谢! Response.EndEnd If%创建文件dim templateName,templatechar,filepath,filename,fileCharset,templateContent templateName=template/template_html.htm 模板名字,支持带路径,如/moban/moban1.htm或temp/moban1.htm templatechar=gb2312 模板文本的编码 filepath=files/html/ 生成文件保存的路径,当前目录请留空,其他目录,路径必须以“/”结尾 filename=Untitled-1.htm 即将生成的文件名 CreateMultiFolder(filepath) 这一句用来判断文件夹是否存在,没有则自动创建,支持n级目录 fileCharset=gb2312 打算生成的文本编码读取指定的模板内容templateContent=ReadFromTextFile(templateName,templatechar) 以下就交给你来替换模板内容了templateContent=replace(templateContent,$websiteName,蓝色理想)templateContent=replace(templateContent,$userName,幸福的子弹)templateC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论