Dim daystr As Date Dim stryear As String Dim strmonth As String Dim strday As String daystr = Format(Now, "yyyy /MM/ dd") stryear = Year(daystr) strmonth = Month(daystr) strday = Day(daystr) '创建ChartSpace对象来放置图表 Dim objCSpace As ChartSpace = New OWC11.ChartSpace objCSpace.DisplayScreenTips = True '在ChartSpace对象中添加图表,Add方法返回chart对象 Dim objchart, zychart As OWC11.ChChart objchart = objCSpace.Charts.Add(0) '指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到 objchart.Type = ChartChartTypeEnum.chChartTypeColumnClustered
'*categories 和 values 可以用tab分割的字符串来表示* Dim strSeriesName1 As String = "实际" Dim strSeriesName2 As String = "实绩推移" Dim strSeriesName3 As String = "计划推移" Dim strSeriesName4 As String = "计划日平均" ''''改变右侧标题的大小 objchart.Legend.Font.Size = 9 objchart.Legend.Position = ChartLegendPositionEnum.chLegendPositionAutomatic Dim strCategory As String Dim i As Integer ''''求得系统当月的天数 Dim monthstr As Integer Dim yearstr As Integer Dim daycount As Integer monthstr = Month(Now) yearstr = Year(Now) Dim countstr As New System.DateTime daycount = countstr.DaysInMonth(yearstr, monthstr) ''''求得系统当月的天数 Dim m, g As String For i = 1 To daycount m = i & "s" strCategory = strCategory & m Next strCategory = Replace(strCategory, "s", ControlChars.Tab) Dim strValue As String Dim strLindValue As String If rs.State = 1 Then rs.Close() End If strsql = "" strsql = strsql & " select mday,isnull((SELECT ROUND(SUM(amntzaisei)/10000, 2) FROM dbo.zyowc where nok2=a.mday GROUP BY NOK2),0) as amnt " strsql = strsql & ",isnull((select sum(juq) from dbo.zyowc where nok2=a.mday group by nok2),0) as juq" strsql = strsql & " from mdaylist(" & stryear & "," & strmonth & ")a" rs.Open(strsql, conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If rs.EOF = False Then rs.MoveFirst() For i = 1 To rs.RecordCount m = rs.Fields("amnt").Value & "s" strValue = strValue & m g = rs.Fields("juq").Value & "s" strLindValue = strLindValue & g rs.MoveNext() Next strValue = Replace(strValue, "s", ControlChars.Tab) strLindValue = Replace(strLindValue, "s", ControlChars.Tab) Else Response.Write("没有数据!") rs.Close() rs = Nothing Exit Sub End If
http://blog.csdn.net/BennyMavis/category/66503.aspx
Dim stryear As String
Dim strmonth As String
Dim strday As String
daystr = Format(Now, "yyyy /MM/ dd")
stryear = Year(daystr)
strmonth = Month(daystr)
strday = Day(daystr)
'创建ChartSpace对象来放置图表
Dim objCSpace As ChartSpace = New OWC11.ChartSpace objCSpace.DisplayScreenTips = True '在ChartSpace对象中添加图表,Add方法返回chart对象
Dim objchart, zychart As OWC11.ChChart
objchart = objCSpace.Charts.Add(0) '指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到
objchart.Type = ChartChartTypeEnum.chChartTypeColumnClustered
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered 柱形图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnStacked 堆积柱形图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnStacked100 百分比堆积柱形图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLine 曲线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineMarkers 数据点曲线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineStacked 曲线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineStacked100 百分比曲线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineStacked100Markers 百分比数据点曲线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineStackedMarkers 堆积数据点曲线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeArea 面积图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeAreaStacked 堆积面积图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeAreaStacked100 百分比堆积面积图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeBarClustered 簇状条形图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeBarStacked 堆积条形图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeBarStacked100 百分比堆积条形图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeLine 折线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeLineMarkers 数据点折线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeLineStacked 堆积折线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeLineStacked100 百分比堆积折线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeLineStacked100Markers 百分比堆积数据点折线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeLineStackedMarkers 堆积数据点折线图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeRadarLine 雷达图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeRadarLineFilled 填充雷达图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeRadarLineMarkers 数据点雷达图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeRadarSmoothLine 曲线雷达图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeRadarSmoothLineMarkers 数据点曲线雷达图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypePie 饼图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeDoughnut 圆环图
' objChart.Type = OWC.ChartChartTypeEnum.chChartTypeDoughnutExploded 分离型圆环图
'objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered 柱形图 '指定图表是否需要图例
objchart.HasLegend = True
'给定标题
objchart.HasTitle = True
objchart.Title.Caption = strmonth & "月份国外道具计划实绩推移表" Label1.Text = stryear & "年" & strmonth & "月" & strday & "日"
Label1.Font.Bold = True
objchart.Title.Font.Size = 12
'给定x,y轴的图示说明"
objchart.Axes(1).HasTitle = True
objchart.Axes(1).Title.Caption = "金额/万"
objchart.Axes(1).Title.Font.Size = 9
'坐标轴刻度宽度
' objchart.Axes(0).TickLabelSpacing = 2
' objChart.Axes(0).Title.Position = ChartTitlePositionEnum.chTitlePositionBottom
objchart.Axes(0).HasTitle = True
objchart.Axes(0).Title.Caption = "日期/天"
objchart.Axes(0).Title.Font.Size = 9
''''给y轴添加一个对应的平行轴
objchart.Axes.Add(objchart.Axes(1).Scaling)
objchart.Axes(2).Position = ChartAxisPositionEnum.chAxisPositionRight
objchart.Axes(2).CrossingAxis = objchart.Axes(0)
'*categories 和 values 可以用tab分割的字符串来表示*
Dim strSeriesName1 As String = "实际"
Dim strSeriesName2 As String = "实绩推移"
Dim strSeriesName3 As String = "计划推移"
Dim strSeriesName4 As String = "计划日平均"
''''改变右侧标题的大小
objchart.Legend.Font.Size = 9
objchart.Legend.Position = ChartLegendPositionEnum.chLegendPositionAutomatic
Dim strCategory As String
Dim i As Integer
''''求得系统当月的天数
Dim monthstr As Integer
Dim yearstr As Integer
Dim daycount As Integer
monthstr = Month(Now)
yearstr = Year(Now)
Dim countstr As New System.DateTime
daycount = countstr.DaysInMonth(yearstr, monthstr)
''''求得系统当月的天数
Dim m, g As String
For i = 1 To daycount
m = i & "s"
strCategory = strCategory & m
Next
strCategory = Replace(strCategory, "s", ControlChars.Tab) Dim strValue As String
Dim strLindValue As String
If rs.State = 1 Then
rs.Close()
End If
strsql = ""
strsql = strsql & " select mday,isnull((SELECT ROUND(SUM(amntzaisei)/10000, 2) FROM dbo.zyowc where nok2=a.mday GROUP BY NOK2),0) as amnt "
strsql = strsql & ",isnull((select sum(juq) from dbo.zyowc where nok2=a.mday group by nok2),0) as juq"
strsql = strsql & " from mdaylist(" & stryear & "," & strmonth & ")a"
rs.Open(strsql, conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
If rs.EOF = False Then
rs.MoveFirst()
For i = 1 To rs.RecordCount
m = rs.Fields("amnt").Value & "s"
strValue = strValue & m
g = rs.Fields("juq").Value & "s"
strLindValue = strLindValue & g
rs.MoveNext()
Next
strValue = Replace(strValue, "s", ControlChars.Tab)
strLindValue = Replace(strLindValue, "s", ControlChars.Tab)
Else
Response.Write("没有数据!")
rs.Close()
rs = Nothing
Exit Sub
End If
objchart.SeriesCollection.Add(0)
objchart.SeriesCollection(0).SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName1)
objchart.SeriesCollection(0).SetData(ChartDimensionsEnum.chDimCategories, ChartSpecialDataSourcesEnum.chDataLiteral, strCategory)
objchart.SeriesCollection(0).SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral, strValue) objchart.SeriesCollection.Add(1)
objchart.SeriesCollection(1).SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName2)
objchart.SeriesCollection(1).SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral, strLindValue)
objchart.SeriesCollection.Add(2)
objchart.SeriesCollection(2).SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName3)
objchart.SeriesCollection(2).SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral, strValue)
''柱的边框颜色
objchart.SeriesCollection(0).Border.Color = "black"
objchart.SeriesCollection(1).Border.Color = "black"
objchart.SeriesCollection(2).Border.Color = "black"
''柱的底色
'objchart.SeriesCollection(0).Interior.Color = "red"
''柱的底色为渐变
objchart.SeriesCollection(0).Interior.SetTwoColorGradient(ChartGradientStyleEnum.chGradientVertical, ChartGradientVariantEnum.chGradientVariantEdges)
objchart.SeriesCollection(1).Interior.SetTwoColorGradient(ChartGradientStyleEnum.chGradientVertical, ChartGradientVariantEnum.chGradientVariantEdges)
objchart.SeriesCollection(2).Interior.SetTwoColorGradient(ChartGradientStyleEnum.chGradientVertical, ChartGradientVariantEnum.chGradientVariantEdges)
objchart.SeriesCollection(0).Interior.Color = "DarkViolet"
objchart.SeriesCollection(1).Interior.Color = "PaleGreen"
objchart.SeriesCollection(2).Interior.Color = "SteelBlue" ''''**********添加曲线
'objchart.SeriesCollection.Add(3)
'objchart.SeriesCollection(3).Type = ChartChartTypeEnum.chChartTypeLine
'objchart.SeriesCollection(3).SetData(ChartDimensionsEnum.chDimSeriesNames, ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName4)
'objchart.SeriesCollection(3).SetData(ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral, strLindValue)
'objchart.SeriesCollection(3).Line.Color = "Maroon" '''''线的类型
'objchart.SeriesCollection(3).Line.DashStyle = ChartLineDashStyleEnum.chLineDash
'''''线的粗细
objchart.SeriesCollection(3).Line.Weight = 1.1 ''''*****************************************************************************
'输出成GIF文件.
Dim strAbsolutePath As String = (Server.MapPath(".")) & "\Images\test.gif"
objCSpace.ExportPicture(strAbsolutePath, "GIF", 800, 600)
'创建GIF文件的相对路径.
Dim strRelativePath As String = "Images/test.gif"
'把图片添加到placeholder.
Image1.ImageUrl = strRelativePath
自己现在效果的代码给贴上,都来帮忙顶啊!!
<%@ OutputCache Duration="1" VaryByParam="*" %>
http://ltp.cnblogs.com/archive/2005/12/03/289690.html
在这里问owc的问题根本就是多余,我放几百分问owc的问题,都没有人能解决,而且,我的都是常识问题,不是特别偏门
b4一下叫人看office帮助的人,麻烦这些人先自己看看去,一句代码都米有,都不知道看什么!
OWC11.ChSeries objSeries1 = objCSpace.Charts[0].SeriesCollection.Add(0);
OWC11.ChSeries objSeries2 = objCSpace.Charts[0].SeriesCollection.Add(0);//设置图表类型
objSeries1.Type = ChartChartTypeEnum.chChartTypeColumnClustered;
objSeries2.Type = ChartChartTypeEnum.chChartTypeLineMarkers;
......// 设置次坐标轴,系列2的累积百分比依据次坐标轴填充
objSeries2.Ungroup(true);
OWC11.ChAxis seAxes = objChart.Axes.Add(objSeries2.get_Scalings(OWC11.ChartDimensionsEnum.chDimValues));
seAxes.Position = OWC11.ChartAxisPositionEnum.chAxisPositionRight;
seAxes.HasMajorGridlines = false;
seAxes.NumberFormat = "0.00%";
......
objSeries1.SetData(OWC11.ChartDimensionsEnum.chDimSeriesNames,
+ (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, "Y1");
objSeries1.SetData(OWC11.ChartDimensionsEnum.chDimCategories,
+ (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, strCategory);
objSeries1.SetData(OWC11.ChartDimensionsEnum.chDimValues,
+ (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, strY);
objSeries2.SetData(OWC11.ChartDimensionsEnum.chDimSeriesNames,
+ (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, "Y2");
objSeries2.SetData(OWC11.ChartDimensionsEnum.chDimCategories,
+ (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, strCategory);
objSeries2.SetData(OWC11.ChartDimensionsEnum.chDimValues,
+ (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, strYB); 太长了,只贴出重要部分.
祝大家新年愉快!哈哈~~~~~~~~~~~~