大连网站制作客服
主营业务
  • 网站制作
  • 网站维护
  • 网站推广
  • 域名空间
联系电话
联系人:尹先生
QQ:1050706570
E-mail:biz@noonenet.cn
地址:大连市甘井子区哲林北园29号
·首页 >> 网站技术 >> asp生成excel,很好用的方法,不用安装任何插件

asp生成excel,很好用的方法,不用安装任何插件

  更新时间:2012-3-5 13:12:12    编辑:阿帆

asp生成excel,网上找了很多方法,最后还是感觉这种方法比较方便,执行速度还快,下面与大家分享下!

代码:

<% 

  toExcelFile = "data.xls" '生成文件路径
  workname = "数据统计" '工作表名称
 
  ExcelContent = ExcelContent & ""
  
  ExcelContent = "<?xml version=""1.0"" encoding=""gb2312""?>" & vbcrlf
  ExcelContent = ExcelContent & "<?mso-application progid=""Excel.Sheet""?>" & vbcrlf
  ExcelContent = ExcelContent & "<Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet"" xmlns:o=""urn:schemas-microsoft-com:office:office"" xmlns:x=""urn:schemas-microsoft-com:office:excel"" xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet"" xmlns:html=""http://www.w3.org/TR/REC-html40"">" & vbcrlf
  ExcelContent = ExcelContent & "<DocumentProperties xmlns=""urn:schemas-microsoft-com:office:office""></DocumentProperties>" & vbcrlf
  ExcelContent = ExcelContent & "<ExcelWorkbook xmlns=""urn:schemas-microsoft-com:office:excel"">" & vbcrlf
  ExcelContent = ExcelContent & "<ProtectStructure>False</ProtectStructure>" & vbcrlf
  ExcelContent = ExcelContent & "<ProtectWindows>False</ProtectWindows></ExcelWorkbook>" & vbcrlf
  ExcelContent = ExcelContent & "<Styles><Style ss:ID=""Default"" ss:Name=""Normal"">" & vbcrlf
  ExcelContent = ExcelContent & "<Alignment ss:Vertical=""Bottom""/>" & vbcrlf
  ExcelContent = ExcelContent & "<Borders/>" & vbcrlf
  ExcelContent = ExcelContent & "<Font ss:FontName=""宋体"" x:CharSet=""134"" ss:Size=""12""/>" & vbcrlf
  ExcelContent = ExcelContent & "<Interior/><NumberFormat/><Protection/></Style>" & vbcrlf
  ExcelContent = ExcelContent & "<Style ss:ID=""s21"">" & vbcrlf
  ExcelContent = ExcelContent & "<NumberFormat ss:Format=""Currency""/>" & vbcrlf
  ExcelContent = ExcelContent & "</Style>" & vbcrlf
  ExcelContent = ExcelContent & "<Style ss:ID=""s23"">" & vbcrlf
  ExcelContent = ExcelContent & "<Alignment ss:Horizontal=""Center"" ss:Vertical=""Bottom""/>" & vbcrlf
  ExcelContent = ExcelContent & "</Style></Styles>" & vbcrlf
  
  selectsql = "Select * from total_table"
  Set execinsert = server.CreateObject("adodb.recordset")
  execinsert.open selectsql,conn,1,1

  recocount = execinsert.recordcount

  ExcelContent = ExcelContent & "<Worksheet ss:Name="""&workname&""">" & vbcrlf
  ExcelContent = ExcelContent & "<Table ss:ExpandedColumnCount=""4"" ss:ExpandedRowCount='"&recocount+1&"' x:FullColumns=""1"" x:FullRows=""1"" ss:DefaultColumnWidth=""54"" ss:DefaultRowHeight=""14.25"">" & vbcrlf
  ExcelContent = ExcelContent & "<Column ss:Index=""2"" ss:AutoFitWidth=""0"" ss:Width=""230.25""/>" & vbcrlf
  ExcelContent = ExcelContent & "<Column ss:AutoFitWidth=""0"" ss:Width=""86.25""/>" & vbcrlf
  ExcelContent = ExcelContent & "<Row>" & vbcrlf

  ExcelContent = ExcelContent & "<Cell><Data ss:Type=""String"">id</Data></Cell>" & vbcrlf
  ExcelContent = ExcelContent & "<Cell><Data ss:Type=""String"">name</Data></Cell>" & vbcrlf
  ExcelContent = ExcelContent & "<Cell><Data ss:Type=""String"">sex</Data></Cell>" & vbcrlf
  ExcelContent = ExcelContent & "<Cell><Data ss:Type=""Number"">age</Data></Cell>" & vbcrlf

  ExcelContent = ExcelContent & "</Row>" & vbcrlf

   do while not execinsert.eof
   
    ExcelContent = ExcelContent & "<Row>" & vbcrlf
    ExcelContent = ExcelContent & "<Cell><Data ss:Type=""String"">"&execinsert("id")&"</Data></Cell>" & vbcrlf
    ExcelContent = ExcelContent & "<Cell><Data ss:Type=""String"">"&execinsert("name")&"</Data></Cell>" & vbcrlf
    ExcelContent = ExcelContent & "<Cell><Data ss:Type=""String"">"&execinsert("sex")&"</Data></Cell>"& vbcrlf
    ExcelContent = ExcelContent & "<Cell><Data ss:Type=""Number"">"&execinsert("age")&"</Data></Cell>"& vbcrlf
    ExcelContent = ExcelContent & "</Row>"& vbcrlf
    
   execinsert.movenext
   loop
  execinsert.close
  set execinsert = nothing

  ExcelContent = ExcelContent & "</Table>"& vbcrlf

  ExcelContent = ExcelContent & "<WorksheetOptions xmlns=""urn:schemas-microsoft-com:office:excel""><ProtectObjects>False</ProtectObjects><ProtectScenarios>False</ProtectScenarios></WorksheetOptions>"& vbcrlf

  ExcelContent = ExcelContent & "</Worksheet></Workbook>"& vbcrlf
  
  Set Fso = server.CreateObject("scripting.filesystemobject")
  If Fso.FileExists(server.MapPath(toExcelFile)) Then
   Fso.deletefile server.MapPath(toExcelFile)
  End If
  
  Set Fso = Nothing

  WriteMoban ExcelContent,toExcelFile

Function WriteMoban(FileContent,FilePath)

iType = 2 '1.二进制 2.文本
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Type = iType
.Mode = 3
.Charset = "utf-8"
.Open
.Position = objStream.Size
If iType = 1 Then
.Write FileContent
Else
.WriteText FileContent
End If
.SaveToFile server.mappath(FilePath),2
.flush
.Close
End With
Set objStream = Nothing

End Function

%>

蓝色部分需要自行修改,个人认为,这是asp生成excel最简单,最快捷的方法。

 

原载: 大连网站制作 http://www.noonenet.cn/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。


Tags:asp生成excel方法,代码
同类文章:
· php session设置错误 Cannot send session cache limiter
· 如何将企业邮件收到本地进行管理,教你配置outlook!
· 如何在你的网站上加入各大社会化媒体网站分享代码?
· 如何在你的网站上显示世界天气预报?
· 如何在浏览器地址栏添加你的logo小图标?
返回新闻列表
top
本站关键字:大连网站制作 - 大连网站建设 - 大连网页制作
CopyRight © 2009-2012 No.1网络工作室 All Rights Reserved  sitemap
地址:大连市甘井子区哲林北园29号 电话:13889684613 E-mail:biz@noonenet.cn QQ:1050706570
logo