摸板生成word excel html
2010-10-15 15:05
295 查看
Word、Excel文档样式易于控制和调整,以往用Excel.Application来生成Excel、Word,需要写很多代码来控制排版的样式,用模版几乎不受任何限制,只需要打开word或Excel,编辑文档,选择"文件->另存为web页",即可方便的做好模板 ,用office生成的模板要比直接在DW中做好模板更加符合office偏好,生成后文件样式可与原word、Excel格式99%一样,因此建议大家用office(office97~office2003)直接来生成模板框架。 主要的代码 function.asp <% '开启容错机制 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=nothing end function if object_install("Scripting.FileSystemobject")=false then Response.Write "<div style='font-size:12px;color:#333;height:20px;line-height:20px;border:1px solid #DDCF8F;padding:6px;background:#FFFFED;font-family:verdana'>对不起,您的空间不支持FSO组件,请与管理员联系!</div>" Response.End end if if object_install("adodb.stream")=false then Response.Write "<div style='font-size:12px;color:#333;height:20px;line-height:20px;border:1px solid #DDCF8F;padding:6px;background:#FFFFED;font-family:verdana'>对不起,您的空间不支持adodb.stream功能,请与管理员联系!</div>" Response.End end 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=str End 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.flush End sub '----------------------------------------------------------------------------- '功能:自动创建文件夹 '创建一级或多级目录,可以创建不存在的根目录 '参数:要创建的目录名称,可以是多级 '返回逻辑值,True成功,False失败 '创建目录的根目录从当前目录开始 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("<h1>Error:</h1>" & strFilename & " does not exist<p>") Response.End end if Set f = fso.GetFile(strFilename) intFilelength = f.size s.LoadFromFile(strFilename) if err then Response.Write("<h1>Error: </h1>" & err.Description & "<p>") Response.End end if Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name Response.AddHeader "Content-Length", intFilelength Response.CharSet = "UTF-8" Response.ContentType = "application/octet-stream" Response.BinaryWrite s.Read Response.Flush s.Close Set s = Nothing End Function '----------------------------------------------------------------------------- If Err Then err.Clear Set conn = Nothing Response.Write "<div style='font-size:12px;color:#333;height:20px;line-height:20px;border:1px solid #DDCF8F;padding:6px;background:#FFFFED;font-family:verdana'>网站异常出错,请与管理员联系,谢谢!</div>" Response.End End If %> 实例生成Excel: <% '创建文件 dim templateName,templatechar,filepath,filename,fileCharset,templateContent templateName="template/template_excel.htm" '模板名字,支持带路径,如"/moban/moban1.htm"或"temp/moban1.htm" templatechar="gb2312" '模板文本的编码 filepath="files/excel/" '生成文件保存的路径,当前目录请留空,其他目录,路径必须以“/”结尾 filename="Book1.xls" '即将生成的文件名 CreateMultiFolder(filepath) '这一句用来判断文件夹是否存在,没有则自动创建,支持n级目录 fileCharset="gb2312" '打算生成的文本编码 '读取指定的模板内容 templateContent=ReadFromTextFile(templateName,templatechar) '以下就交给你来替换模板内容了 templateContent=replace(templateContent,"{$websiteName}","蓝色理想") templateContent=replace(templateContent,"{$userName}","幸福的子弹") templateContent=replace(templateContent,"{$now}",Now()) '其他内容...... '最终调用函数来生成文件 Call WriteToTextFile(filepath&filename,templateContent,fileCharset) '最后关闭adodb.stream对象 stm.flush stm.Close set stm=nothing downloadFile(filepath&filename) %> 生成Word文档: <% '创建文件 dim templateName,templatechar,filepath,filename,fileCharset,templateContent templateName="template/template_word.htm" '模板名字,支持带路径,如"/moban/moban1.htm"或"temp/moban1.htm" templatechar="gb2312" '模板文本的编码 filepath="files/word/" '生成文件保存的路径,当前目录请留空,其他目录,路径必须以“/”结尾 filename="Doc1.doc" '即将生成的文件名 CreateMultiFolder(filepath) '这一句用来判断文件夹是否存在,没有则自动创建,支持n级目录 fileCharset="gb2312" '打算生成的文本编码 '读取指定的模板内容 templateContent=ReadFromTextFile(templateName,templatechar) '以下就交给你来替换模板内容了 templateContent=replace(templateContent,"{$websiteName}","蓝色理想") templateContent=replace(templateContent,"{$userName}","幸福的子弹") templateContent=replace(templateContent,"{$now}",Now()) '其他内容...... '最终调用函数来生成文件 Call WriteToTextFile(filepath&filename,templateContent,fileCharset) '最后关闭adodb.stream对象 stm.flush stm.Close set stm=nothing downloadFile(filepath&filename) %> 生成.htm静态页面 <% '创建文件 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}","幸福的子弹") templateContent=replace(templateContent,"{$now}",now()) '其他内容...... '最终调用函数来生成文件 Call WriteToTextFile(filepath&filename,templateContent,fileCharset) '最后关闭adodb.stream对象 stm.flush stm.Close set stm=nothing response.Write("恭喜您,"&filename&"已经生成,<a href="""&filepath&filename&""" target=""_blank"">点击查看</a>") %> |
相关文章推荐
- ASP+模板生成Word、Excel、html的代码第1/2页
- ASP+模板生成Word、Excel、html
- freemarker生成excel、word、html、xml实例教程
- Velocity模板引擎实战:动态生成HTML、Word、Excel等报表
- ASP+模板生成Word、Excel、html的代码第1/2页
- freemarker生成excel、word、html、xml实例教程
- 数据字典生成工具(生成Excel, Word,PDF,html)
- freemarker生成excel、word、html、xml实例教程
- freemarker生成excel、word、html、xml实例教程
- 将当前jsp生成word,pdf,excel等文档
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- php 备份数据库代码(生成word,excel,json,xml,sql)
- Java中用Apache POI生成excel和word文档
- C# 将Word,Excel转换成Html
- Java和.Net版通用工具类实现--生成自定义Web Html/Excel测试用例和测试报告
- 类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版
- ASP生成WORD文档或EXCEL文档
- JSP生成WORD文档,EXCEL文档,PDF文档
- html导出table支持(excel,png,word,pdf<pdf不太行,中文不支持>)
- java生成带html样式的word文件