| 输出EXCEL文件的通用函数 |
|
来源:互联网 |
时间:2005-10-04 |
浏览:
相关评论 |
报告错误 |
发布文章
|
【字号:大 | 中 | 小】
【背景色
】
|
|
下面这段小程序,用于把一个SQL的SELECT查询出的结果输出为EXCEL格式文件,这个程序你只要设好用于取得一个记录集的SQL的SELECT查询语句和一个文件名,程序就能输出EXCEL格式文件了,这个程序一共由三个文件构成,第一个文件的文件名为:toexcel.asp是主文件,内容如下: 
<% 
"前面是设置数据源并链接到数据库,请自行书写相关语句,此处略过 
sql=session("toexcelsql") "这里是要输出EXCEL的查询语句,如 "SESECT * FORM CAI WHERE 性别="女"" 
filename="excel.xls" " 要输出的EXCEL文件的文件名, 你只要改以上两句就行了,其它的都不要改. 
"你只要修改以上两变量就行了.其它的我都做好了. 
call toexcel(FILENAME,sql) 
set conn=nothing 
function ReadText(FileName) "这是一个用于读出文件的函数 
set adf=server.CreateObject("Adodb.Stream") 
with adf 
.Type=2 
.LineSeparator=10 
.Open 
.LoadFromFile (server.MapPath(FileName)) 
.Charset="GB2312" 
.Position=2 
ReadText=.ReadText 
.Cancel() 
.Close() 
end with 
set ads=nothing 
end function 
sub SaveText(FileName,Data) "这是一个用于写文件的函数 
set fs= createobject("scripting.filesystemobject") 
set ts=fs.createtextfile(server.MapPath(FileName),true) 
ts.writeline(data) 
ts.close 
set ts=nothing 
set fs=nothing 
end sub 
sub toexcel(filename,sql) "这是一个根据SQL语句和FILENAME生成EXCEL文件 
Set rs=Server.CreateObject("ADODB.RecordSet") 
rs.Open sql,conn,1,3 
TOEXCELLR="<table width="100%"><tr >" 
set myfield=rs.fields 
dim fieldname(50) 
for i=0 to myfield.count-1 
toexcellr=toexcellr&"<td class=xl24>"&MYFIELD(I).NAME&"</td>" 
fieldname(i)=myfield(i).name 
if myfield(i).type=135 then datename=datename&myfield(i).name&"," 
next 
toexcellr=toexcellr&"</tr>" 
do while not rs.eof 
toexcellr=toexcellr&"<tr>" 
for i=0 to myfield.count-1 
if instr(datename,fieldname(i)&",")<>0 then 
if not isnull(rs(fieldname(i))) then 
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align="left">"&formatdatetime(rs(fieldname(i)),2)&"</p></td>" 
else 
TOEXCELLR=TOEXCELLR&"<td class=xl25 ><p align="left"> </p></td>" 
end if 
else 
TOEXCELLR=TOEXCELLR&"<td class=xl24 >"&rs(fieldname(i))&"</td>" 
end if 
next 
toexcellr=toexcellr&"</tr>" 
rs.movenext 
loop 
toexcellr=toexcellr&"</table>" 
tou=readtext("tou.txt") 
di=readtext("di.txt") 
toexcellr=tou&toexcellr&di 
call savetext(filename,toexcellr) 
end sub 
%> 
<html> 
<head> 
<meta http-equiv="refresh" content="3;URL=<%=filename%>"> 
<meta http-equiv="Content-Language" content="en-us"> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>正在生成EXLCE文件</title> 
</head> 
<BODY> 
正在生成EXLCE文件.... 
</BODY> 
</HTML> 
**************第二个文件名为:di.txt 内容如下: 
<table x:str border=0 cellpadding=0 cellspacing=0 width=288 style="border-collapse: 
collapse;table-layout:fixed;width:216pt"> 
<![if supportMisalignedColumns]> 
<tr height=0 style="display:none"> 
<td width=72 style="width:54pt"></td> 
<td width=72 style="width:54pt"></td> 
<td width=72 style="width:54pt"></td> 
<td width=72 style="width:54pt"></td> 
</tr> 
<![endif]> 
</table> 
************第三个文件的文件名为:tou.TXT 内容如下: 
<html xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns:x="urn:schemas-microsoft-com:office:excel" 
xmlns=" http://www.w3.org/TR/REC-html40"> 
<head> 
<meta http-equiv=Content-Type content="text/html; charset=GB2312"> 
<meta name=ProgId content=Excel.Sheet> 
<meta name=Generator content="Microsoft Excel 9"> 
<link rel=File-List href="./222.files/filelist.xml"> 
<link rel=Edit-Time-Data href="./222.files/editdata.mso"> 
<link rel=OLE-Object-Data href="./222.files/oledata.mso"> 
<!--[if gte mso 9]><xml> 
<o:DocumentProperties> 
<o:Author>xky</o:Author> 
<o:LastAuthor>xky</o:LastAuthor> 
<o:Created>2002-05-27T17:51:00Z</o:Created> 
<o:LastSaved>2002-06-22T10:03:03Z</o:LastSaved> 
<o:Company>zydn</o:Company> 
<o:Version>9.2812</o:Version> 
</o:DocumentProperties> 
<o:OfficeDocumentSettings> 
<o:DownloadComponents/> 
<o:LocationOfComponents HRef="file:///E:/msowc.cab"/> 
</o:OfficeDocumentSettings> 
</xml><![endif]--> 
<style> 
<!--table 
{mso-displayed-decimal-separator:"."; 
mso-displayed-thousand-separator:",";} 
@page 
{margin:1.0in .75in 1.0in .75in; 
mso-header-margin:.5in; 
mso-footer-margin:.5in;} 
tr 
{mso-height-source:auto; 
mso-ruby-visibility:none;} 
col 
{mso-width-source:auto; 
mso-ruby-visibility:none;} 
br 
{mso-data-placement:same-cell;} 
.style0 
{mso-number-format:General; 
text-align:general; 
vertical-align:bottom; 
white-space:nowrap; 
mso-rotate:0; 
mso-background-source:auto; 
mso-pattern:auto; 
color:windowtext; 
font-size:9.0pt; 
font-weight:400; 
font-style:normal; 
text-decoration:none; 
font-family:宋体; 
mso-generic-font-family:auto; 
mso-font-charset:134; 
border:none; 
mso-protection:locked visible; 
mso-style-name:常规; 
mso-style-id:0;} 
td 
{mso-style-parent:style0; 
padding-top:1px; 
padding-right:1px; 
padding-left:1px; 
mso-ignore:padding; 
color:windowtext; 
font-size:9.0pt; 
font-weight:400; 
font-style:normal; 
text-decoration:none; 
font-family:宋体; 
mso-generic-font-family:auto; 
mso-font-charset:134; 
mso-number-format:General; 
text-align:general; 
vertical-align:bottom; 
border:none; 
mso-background-source:auto; 
mso-pattern:auto; 
mso-protection:locked visible; 
white-space:nowrap; 
mso-rotate:0;} 
.xl24 
{mso-style-parent:style0; 
border:.5pt solid windowtext;} 
.xl25 
{mso-style-parent:style0; 
mso-number-format:"Long Date"; 
text-align:left; 
border:.5pt solid windowtext;} 
ruby 
{ruby-align:left;} 
rt 
{color:windowtext; 
font-size:9.0pt; 
font-weight:400; 
font-style:normal; 
text-decoration:none; 
font-family:宋体; 
mso-generic-font-family:auto; 
mso-font-charset:134; 
mso-char-type:none; 
display:none;} 
--> 
</style> 
<!--[if gte mso 9]><xml> 
<x:ExcelWorkbook> 
<x:ExcelWorksheets> 
<x:ExcelWorksheet> 
<x:Name>Sheet1</x:Name> 
<x:WorksheetOptions> 
<x:DefaultRowHeight>225</x:DefaultRowHeight> 
<x:Print> 
<x:ValidPrinterInfo/> 
<x:PaperSizeIndex>9</x:PaperSizeIndex> 
<x:HorizontalResolution>-3</x:HorizontalResolution> 
<x:VerticalResolution>0</x:VerticalResolution> 
</x:Print> 
<x:Selected/> 
<x:Panes> 
<x:Pane> 
<x:Number>3</x:Number> 
<x:ActiveRow>24</x:ActiveRow> 
<x:ActiveCol>5</x:ActiveCol> 
</x:Pane> 
</x:Panes> 
<x:ProtectContents>False</x:ProtectContents> 
<x:ProtectObjects>False</x:ProtectObjects> 
<x:ProtectScenarios>False</x:ProtectScenarios> 
</x:WorksheetOptions> 
</x:ExcelWorksheet> 
<x:ExcelWorksheet> 
<x:Name>Sheet2</x:Name> 
<x:WorksheetOptions> 
<x:DefaultRowHeight>225</x:DefaultRowHeight> 
<x:ProtectContents>False</x:ProtectContents> 
<x:ProtectObjects>False</x:ProtectObjects> 
<x:ProtectScenarios>False</x:ProtectScenarios> 
</x:WorksheetOptions> 
</x:ExcelWorksheet> 
<x:ExcelWorksheet> 
<x:Name>Sheet3</x:Name> 
<x:WorksheetOptions> 
<x:DefaultRowHeight>225</x:DefaultRowHeight> 
<x:ProtectContents>False</x:ProtectContents> 
<x:ProtectObjects>False</x:ProtectObjects> 
<x:ProtectScenarios>False</x:ProtectScenarios> 
</x:WorksheetOptions> 
</x:ExcelWorksheet> 
</x:ExcelWorksheets> 
<x:WindowHeight>6600</x:WindowHeight> 
<x:WindowWidth>12000</x:WindowWidth> 
<x:WindowTopX>0</x:WindowTopX> 
<x:WindowTopY>1395</x:WindowTopY> 
<x:ProtectStructure>False</x:ProtectStructure> 
<x:ProtectWindows>False</x:ProtectWindows> 
</x:ExcelWorkbook> 
</xml><![endif]--> 
</head> 
<body link=blue vlink=purple>
|
|
 |
| |
|
|
|
|