📄 在asp中怎樣用excel寫報表.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0055)http://www.51base.com/article/view_article.asp?id=72419 -->
<HTML lang=zh-cn><HEAD><TITLE>NB联盟</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type><LINK
href="NB联盟29.files/style.css" rel=stylesheet>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY><!-- start page body -->
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 class=td id=position
width=773>
<TBODY>
<TR>
<TD class=shadow colSpan=2 height=20 width=262> <A
href="http://www.51base.com/"><IMG border=0
src="NB联盟29.files/logo1.gif"></A> </TD>
<TD align=right width=505>
<P align=left></P></TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 id=main width=770>
<TBODY>
<TR>
<TD class=tdlbr vAlign=top>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 id=welcome
style="TABLE-LAYOUT: fixed" width="98%">
<TBODY>
<TR>
<TD style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all"
vAlign=top><FONT color=red><B>文章标题</B></FONT><FONT color=red><B>:
在ASP中怎樣用Excel寫報表? </B></FONT>
<HR noShade SIZE=1>
<BR>在ASP中﹐怎樣將Sql
Server或者Oracle數據庫的資料轉成Excel圖表(直條圖和折線圖)﹐并在網頁顯示出來?
<BR>最好有實例。
<BR>---------------------------------------------------------------
<BR> <BR>http://www.csdn.net/Subject/15/index.shtm
<BR>---------------------------------------------------------------
<BR> <BR>OWC,具体使用可以看OFFICE安装目录下2052里的MSOWC.CHM
<BR> <BR>柱图 <BR><%@ Language=VBScript
%> <BR><% <BR>Option Explicit
<BR>'Response.Expires = -1
<BR>'Response.ContentType = "image/gif"
<BR> <BR>'页面级对象 <BR>'--------------------
<BR>Dim m_cn
'链接对象 <BR>Dim m_rs
'记录集对象 <BR>Dim m_cspace
'OWC.ChartSpace object <BR>Dim
m_fso
'文件系统对象
<BR>Dim m_objBinaryFile
'二进值文件流对象 <BR> <BR>Dim m_sYear
'需要查询的年份 <BR> <BR>Dim sSQL
'执行的SQL 语句
<BR>Dim c
'OWC 常量对象 <BR>Dim cht
'图表临时参考变量
<BR>Dim ax
'数轴的临时参考变量 <BR>Dim fnt
'OWCFont字体的临时参考变量
<BR>Dim sFullFileName
'输出GIF文件的临时参考路径 <BR> <BR>'获得查询年份,缺省为2002
<BR>m_sYear = Request.QueryString("year")
<BR>if len(m_sYear) = 0 then
m_sYear = "2002"
<BR> <BR>'创建一个ADO链接和记录集对象 <BR>set m_cn
= Server.CreateObject("ADODB.Connection") <BR>set
m_rs = Server.CreateObject("ADODB.Recordset")
<BR> <BR>'链接到Access数据库,使用客户端的游标引擎打开记录集
<BR>m_cn.Open "provider=microsoft.jet.oledb.4.0;data
source=" & Server.MapPath(".") &
"\data.mdb" <BR>sSQL = "SELECT
Month([OrderDate]) AS [Month],
Invoices.Salesperson, " & _
<BR>
"Sum(Invoices.ExtendedPrice) AS Sales
FROM Invoices " & _
<BR>
"WHERE
Invoices.OrderDate between #1/1/" &
m_sYear & "# and #12/31/"
& m_sYear & "# " &
_ <BR>
"GROUP BY Month([OrderDate]),
Invoices.Salesperson" <BR>m_rs.CursorLocation =
3 'adUseClient <BR>m_rs.Open sSQL,
m_cn, 3 'adOpenStatic
<BR> <BR>'增加一个带有图例的簇列图表 <BR>set m_cspace
= server.CreateObject("OWC.Chart") <BR>set
cht = m_cspace.Charts.Add() <BR>set c
= m_cspace.Constants <BR> <BR>set
m_cspace.DataSource = m_rs
<BR> <BR>cht.Type = 1 <BR>cht.HasLegend
= True
<BR> <BR>'设置图表的数据源,把销售人添加到序列名称,销售月份添加到分类组,销售金额作为图表中各项取值
<BR> <BR> <BR>cht.SetData c.chDimSeriesNames,
0, "Salesperson" <BR>cht.SetData
c.chDimCategories, 0, "Month"
<BR>cht.SetData c.chDimValues, 0, "Sales"
<BR>c.HasPercentage = True <BR>c.HasValue
= False <BR> <BR>'增加一个图表标题,并格式化标题
<BR>cht.HasTitle = True
<BR>cht.Title.Caption = m_sYear
& "的销售金额 " <BR>set fnt =
cht.Title.Font <BR>fnt.Name = "宋体"
<BR>fnt.Size = 10 <BR>fnt.Bold =
True <BR> <BR>'对分类轴添加标题,并格式化标题 <BR>set
ax = cht.Axes(c.chAxisPositionBottom)
<BR>ax.HasTitle = True <BR>ax.Title.Caption
= "月份" <BR>set fnt =
ax.Title.Font <BR>fnt.Name = "宋体"
<BR>fnt.Size = 8 <BR>fnt.Bold =
True <BR> <BR>'对数值轴添加标题,并格式化标题 <BR>set
ax = cht.Axes(c.chAxisPositionleft)
<BR>'ax.NumberFormat = "Currency"
<BR>ax.HasTitle = True <BR>ax.Title.Caption
= "元" <BR>set fnt =
ax.Title.Font <BR>fnt.Name = "宋体"
<BR>fnt.Size = 8 <BR>fnt.Bold =
True <BR>fnt.color="red"
<BR> <BR>'用一个临时变量名保存当前文件,这个文件名是唯一的 <BR>set
m_fso = CreateObject("Scripting.FileSystemObject")
<BR>sFullFileName = Server.MapPath(".")
& "\" & m_fso.GetTempName()
<BR>m_cspace.ExportPicture sFullFileName, "GIF",
800, 400 <BR> <BR>'使用 On Error
Resume Next语句是为了确保我们删除了临时文件,即使一些函数调用失败 <BR>on
error resume next
<BR> <BR>'GIF文件已经输出,我们可以通过COM组件把它的内容发送到客户端 <BR>set
m_objBinaryFile =
server.CreateObject("BinFileWrite.GetFileStream")
<BR> <BR>m_objBinaryFile.SendBinFile
CStr(sFullFileName),"image/GIF",TRUE,FALSE,TRUE,TRUE,TRUE
<BR>'GIF文件已经不需要了可以删除了 <BR>m_objBinaryFile.DeleteFile
CStr(sFullFileName) <BR> <BR>%>
<BR> <BR>饼图 <BR><%@ Language=VBScript
%> <BR> <BR><html>
<BR> <BR><head> <BR><meta
name="GENERATOR" content="Microsoft FrontPage
4.0"> <BR><meta name="ProgId"
content="FrontPage.Editor.Document">
<BR><title>利用OWC动态生成图表</title>
<BR></head> <BR> <BR><body>
<BR><% <BR>set m_cspace =
server.CreateObject("OWC.Chart") <BR>set DSC
= server.CreateObject("OWC.DataSourceControl")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -