台灣最大程式設計社群網站
線上人數
951
 
會員總數:246136
討論主題:189720
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> ASP程式產生Excel檔
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
ASP程式產生Excel檔
價值 : 0 QP  點閱數:5163 回應數:0
樓主

站務人員 站長
門外漢
0 1580
542 9
發送站內信

捐贈 VP 給 站務人員
轉貼文章
<%
Response.ContentType = "application/vnd.ms-excel"
%>

下面來看一個例子,假設現在有如下形式的資料:
flavor qty_baked qty_eaten qty_sold price
Boston 24 2 10 0.5
Jelly 24 1 12 0.5
Strawberry 36 1 15 0.5
Chocolate 24 2 6 0.75
Maple 12 1 6 0.75

客戶要求用EXECL的形式表現出來,並且希望其中能加上其他一些計算匯總

用如下代碼:
……
<%
Response.ContentType = "application/vnd.ms-excel"

set conntemp=server.createobject("adodb.connection")
cnpath="DBQ=" & server.mappath("nwind.mdb")
conntemp.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath
set RS=conntemp.execute("select * from donut")
%>
<TABLE BORDER=1>
<TR>
<%
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
' % Loop through Fields Names and print out the Field Names
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
j = 2 'row counter
For i = 0 to RS.Fields.Count - 1
%>
<TD><% = RS(i).Name %></TD>
<% Next %>
<TD>On Hand (calculated)</TD>
<TD>Gross (calculated)</TD>
</TR>
<%
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
' % Loop through rows, displaying each field
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Do While Not RS.EOF
%>
<TR>
<% For i = 0 to RS.Fields.Count - 1
%>
<TD VALIGN=TOP><% = RS(i) %></TD>
<% Next %>
<TD>=b<%=j%>-c<%=j%>-d<%=j%></TD>
<TD>=d<%=j%>*e<%=j%></TD>
</TR>
<%
RS.MoveNext
j = j + 1
Loop
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
' % Make sure to close the Result Set and the Connection object
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
RS.Close
%>
<TR BGCOLOR=RED>
<TD>Totals</TD>
<TD>=SUM(B2:B6)</TD>
<TD>=SUM(C2:C6)</TD>
<TD>=SUM(D2:D6)</TD>
<TD>n/a</TD>
<TD>=SUM(F2:F6)</TD>
<TD>=SUM(G2:G6)</TD>
</TABLE>
……
這樣我們就實現了目的,用戶可以在瀏覽器視窗就打開它進行簡單操作,也可以保存到硬碟上進行其他操作。

-------------------------------------------------------------
作者:yang(yangtung@ms29.url.com.tw)

用xml的語法
但只適用在 Excel2000

-->>
先用Excel2000設計一個樣式
(記得將sheet1,sheet2......刪除,只能留一個工作表)
選【工具】【巨集】【Microsoft Script 編輯器】
就會出現xml的原始碼
看了以後照抄就是了
在ASP中依樣畫葫蘆
再用FileSystemObject將其存成.xls就行了

本篇文章發表於2001-05-14 00:00
目前尚無任何回覆
   

回覆
如要回應,請先登入.