dim sql,sql1, thedate dim thecompanyid,thepath,thefilename dim projectname dim projectid,projecttype,projectcurrency dim objrjz,S projectid=Request.QueryString ("ProjectID") projecttype=Request.QueryString ("ProjectType") projectcurrency=Request.QueryString ("ProjectCurrency") sql="select f项目名称 FROM td项目定义表 where(f项目ID ='" & projectid & "')" Set rs=SERVER.CreateObject ("ADODB.Recordset") rs.Open sql, APPLICATION("PWEBSJK") projectname=rs("f项目名称")
sql="select f单位ID FROM td单位档案 where(f单位名称 ='" & session("company") & "')" Set rs=SERVER.CreateObject ("ADODB.Recordset") rs.Open sql, APPLICATION("PWEBSJK") thecompanyid=rs("f单位ID") thedate=dateserial(session("year"),session("month"),1) set objsheet= server.CreateObject ("owc.spreadsheet.9") set objrjz = server.CreateObject("H华源财务.C财务分析直方图") objrjz.OpenDatabase "cwfxjczc", "sa" objrjz.TheDate = thedate objrjz.TheCompanyID =thecompanyid objrjz.ProjectID = projectid objrjz.ProjectType = projecttype objrjz.ProjectCurrency = projectcurrency if session("method")="环比分析" then objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\环比直方图.htm" elseif session("method")="同比分析" then objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\同期定比直方图.htm" elseif session("method")="平均比" then objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\平均比直方图.htm" elseif session("method")="预算比" then objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\预算比直方图.htm" elseif session("method")="结构分析" then objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\结构比直方图.htm" end if S = REPLACE(objsheet.HTMLData,CHR(34),""") S = REPLACE(S,CHR(13) & CHR(10)," 
") set objrjz = nothing set objsheet = nothing
%><META name="VI60_DefaultClientScript" Content="VBScript"><META NAME="GENERATOR" Content="MSHTML 5.00.2314.1000" > <SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript> <!--Sub window_onload <%if session("method")="环比分析" then %> BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5", "b4:f4", "b5:f5", False <%elseif session("method")="同比分析" then%> BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5", "b4:f4", "b5:f5", False <%elseif session("method")="平均比" then%> BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5:a6", "b4:f4", "b5:f6", False <%elseif session("method")="预算比" then%> BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5:a6", "b4:f4", "b5:f6", False <%elseif session("method")="结构分析" then%> BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5", "b4:f4", "b5:f5", False <%end if%> 'sheet.ViewableRange = sheet.ActiveSheet.UsedRange.Address ' sheet.Range("d6").FreezePanes 5 Spreadsheet1.ActiveSheet.Cells(1,1).Select End Sub' BindChartToSpreadsheet() ' ' Purpose: Binds a chart to specified ranges in the source spreadsheet ' In: cspace reference to the ChartSpace object ' sheet reference to the Spreadsheet object ' srngSeries string-based range reference to where the ' series names come from ' srngCategories string-based range reference to where the ' category names come from ' srngValues string-based range reference to where the ' values are ' Sub BindChartToSpreadsheet(cspace, sheet, srngSeries, srngCategories, _ srngValues, fSeriesInCols) ' Local variables Dim cht ' Chart object that we'll create in the chart space Dim ser ' Temp Series Dim rngValues ' Range object of values
' Grab the Constants object so that we can use constant names in ' the script. Note: This is needed only in VBScript -- do not include ' this in VBA code. set c = cspace.Constants
' Clear out anything that is in the chart space cspace.Clear ' First tell the chart that its data is coming from the spreadsheet set cspace.DataSource = sheet
' Create a chart in the chart space set cht = cspace.Charts.Add() cht.HasLegend = True <%if session("picturetype")="线型图" then %> cht.Type = c.chChartTypeLine <%end if%> ' Now call SetData to bind the various dimensions. ' Second parameter is zero, meaning the first data source should be ' used if there are multiple data sources. cht.SetData c.chDimSeriesNames, 0, srngSeries cht.SetData c.chDimCategories, 0, srngCategories
' The spreadsheet can bind to one-dimensional ranges only, ' so loop through the series collection and set the values ' for each series individually set rngValues = sheet.Range(srngValues)
for each ser in cht.SeriesCollection if fSeriesInCols then ser.SetData c.chDimValues, 0, _ rngValues.Columns(ser.Index + 1).Address else ser.SetData c.chDimValues, 0, _ rngValues.Rows(ser.Index + 1).Address end if next 'ser
还有别的方法吗?用别的语言可以吗?
<%@ Language=VBScript %>
<%'接收点击时传递的参数:项目ID(ProjectID),项目类别(ProjectType),项目精度(ProjectCurrency)
'如果分析方法session("method")为汇总单位,创建对象objrjz为H华源财务.C财务分析汇总单位
'其它的分析方法下,创建对象objrjz为H华源财务.C财务分析class
'将接收到的参数传递给创建的对象objrjz
'根据不同的分析方法将不同的模板传送给对象objrjz
%>
<%
dim objsheet '电子表格控件
dim sql,sql1, thedate
dim thecompanyid,thepath,thefilename
dim projectname
dim projectid,projecttype,projectcurrency
dim objrjz,S
projectid=Request.QueryString ("ProjectID")
projecttype=Request.QueryString ("ProjectType")
projectcurrency=Request.QueryString ("ProjectCurrency")
sql="select f项目名称 FROM td项目定义表 where(f项目ID ='" & projectid & "')"
Set rs=SERVER.CreateObject ("ADODB.Recordset")
rs.Open sql, APPLICATION("PWEBSJK")
projectname=rs("f项目名称")
sql="select f单位ID FROM td单位档案 where(f单位名称 ='" & session("company") & "')"
Set rs=SERVER.CreateObject ("ADODB.Recordset")
rs.Open sql, APPLICATION("PWEBSJK")
thecompanyid=rs("f单位ID")
thedate=dateserial(session("year"),session("month"),1)
set objsheet= server.CreateObject ("owc.spreadsheet.9")
set objrjz = server.CreateObject("H华源财务.C财务分析直方图")
objrjz.OpenDatabase "cwfxjczc", "sa"
objrjz.TheDate = thedate
objrjz.TheCompanyID =thecompanyid
objrjz.ProjectID = projectid
objrjz.ProjectType = projecttype
objrjz.ProjectCurrency = projectcurrency
if session("method")="环比分析" then
objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\环比直方图.htm"
elseif session("method")="同比分析" then
objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\同期定比直方图.htm"
elseif session("method")="平均比" then
objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\平均比直方图.htm"
elseif session("method")="预算比" then
objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\预算比直方图.htm"
elseif session("method")="结构分析" then
objrjz.BeginFormat objsheet.ActiveSheet, "c:\财务分析\结构比直方图.htm"
end if
S = REPLACE(objsheet.HTMLData,CHR(34),""")
S = REPLACE(S,CHR(13) & CHR(10)," 
")
set objrjz = nothing
set objsheet = nothing
%><META name="VI60_DefaultClientScript" Content="VBScript"><META NAME="GENERATOR" Content="MSHTML 5.00.2314.1000" >
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
<!--Sub window_onload
<%if session("method")="环比分析" then %>
BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5", "b4:f4", "b5:f5", False
<%elseif session("method")="同比分析" then%>
BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5", "b4:f4", "b5:f5", False
<%elseif session("method")="平均比" then%>
BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5:a6", "b4:f4", "b5:f6", False
<%elseif session("method")="预算比" then%>
BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5:a6", "b4:f4", "b5:f6", False
<%elseif session("method")="结构分析" then%>
BindChartToSpreadsheet Chartspace1, Spreadsheet1, "a5", "b4:f4", "b5:f5", False
<%end if%>
'sheet.ViewableRange = sheet.ActiveSheet.UsedRange.Address
' sheet.Range("d6").FreezePanes 5
Spreadsheet1.ActiveSheet.Cells(1,1).Select End Sub' BindChartToSpreadsheet()
'
' Purpose: Binds a chart to specified ranges in the source spreadsheet
' In: cspace reference to the ChartSpace object
' sheet reference to the Spreadsheet object
' srngSeries string-based range reference to where the
' series names come from
' srngCategories string-based range reference to where the
' category names come from
' srngValues string-based range reference to where the
' values are
'
Sub BindChartToSpreadsheet(cspace, sheet, srngSeries, srngCategories, _
srngValues, fSeriesInCols)
' Local variables
Dim cht ' Chart object that we'll create in the chart space
Dim ser ' Temp Series
Dim rngValues ' Range object of values
' Grab the Constants object so that we can use constant names in
' the script. Note: This is needed only in VBScript -- do not include
' this in VBA code.
set c = cspace.Constants
' Clear out anything that is in the chart space
cspace.Clear ' First tell the chart that its data is coming from the spreadsheet
set cspace.DataSource = sheet
' Create a chart in the chart space
set cht = cspace.Charts.Add()
cht.HasLegend = True
<%if session("picturetype")="线型图" then %>
cht.Type = c.chChartTypeLine
<%end if%>
' Now call SetData to bind the various dimensions.
' Second parameter is zero, meaning the first data source should be
' used if there are multiple data sources.
cht.SetData c.chDimSeriesNames, 0, srngSeries
cht.SetData c.chDimCategories, 0, srngCategories
' The spreadsheet can bind to one-dimensional ranges only,
' so loop through the series collection and set the values
' for each series individually
set rngValues = sheet.Range(srngValues)
for each ser in cht.SeriesCollection
if fSeriesInCols then
ser.SetData c.chDimValues, 0, _
rngValues.Columns(ser.Index + 1).Address
else
ser.SetData c.chDimValues, 0, _
rngValues.Rows(ser.Index + 1).Address
end if
next 'ser
End Sub 'BindChartToSpreadsheet()-->
</SCRIPT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<BODY>
<a href="财务分析内容1.asp?ProjectID=<%=session("theprojectid")%>&ProjectType=<%=projecttype%>&ProjectCurrency=<%=projectcurrency%>" >返回</a>
<%=session("company")%>
<p align=center>
<%=projectname%><!-- Chart Control -->
<object classid="clsid:0002E500-0000-0000-C000-000000000046"
id="ChartSpace1"
style="HEIGHT: 50%; WIDTH: 100%" width="576" height="384">
</object>
<OBJECT classid=clsid:0002E510-0000-0000-C000-000000000046 height=100 id=Spreadsheet1
style="HEIGHT:200px; LEFT: 2px; TOP: 10px; WIDTH: 550px" title=财务分析 width=700
VIEWASTEXT><PARAM NAME="HTMLURL" VALUE="">
<PARAM NAME="HTMLData" VALUE="<%=s%>">
<PARAM NAME="DataType" VALUE="HTMLDATA">
<PARAM NAME="AutoFit" VALUE="0">
<PARAM NAME="DisplayColHeaders" VALUE="-1">
<PARAM NAME="DisplayGridlines" VALUE="0">
<PARAM NAME="DisplayHorizontalScrollBar" VALUE="-1">
<PARAM NAME="DisplayRowHeaders" VALUE="0">
<PARAM NAME="DisplayTitleBar" VALUE="0">
<PARAM NAME="DisplayToolbar" VALUE="0">
<PARAM NAME="DisplayVerticalScrollBar" VALUE="-1">
<PARAM NAME="EnableAutoCalculate" VALUE="-1">
<PARAM NAME="EnableEvents" VALUE="-1">
<PARAM NAME="MoveAfterReturn" VALUE="-1">
<PARAM NAME="MoveAfterReturnDirection" VALUE="0">
<PARAM NAME="RightToLeft" VALUE="0">
<PARAM NAME="ViewableRange" VALUE="1:65536">
</OBJECT></BODY>
</HTML>