|
代码:
<%
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
%>
|