在asp.net中做统计图,请各位指点

saf9 2003-08-19 09:09:29
在asp.net中做统计图,我现在用的是office中的owc,但总得不到图形,
在这个owcChart.SeriesCollection集合中好像没什么东西,所以下面
For Each owcSeries In owcChartSpace.Charts.Add.SeriesCollection
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, "Division")
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, "Count")
Next
不执行,不知还有其他更好的方法吗
...全文
77 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitwy 2003-08-19
  • 打赏
  • 举报
回复
希望这段代码对你有所帮助!Image1是一个图片控件
private void Button1_Click(object sender, System.EventArgs e)
{
OWC.ChartSpaceClass owcChartSpace = new OWC.ChartSpaceClass();
OWC.WCChart owcChart = owcChartSpace.Charts.Add(0);
ADODB.Connection ConnADO = new ADODB.ConnectionClass();
ADODB.Recordset RecordsetADO = new ADODB.RecordsetClass();

string connectionString;

connectionString = "driver={sql server};server=YOURSERVER;uid=ID;pwd=PWD; database=YOURDB";
ConnADO.Open(connectionString,"","",-1);

RecordsetADO.ActiveConnection = ConnADO;
RecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStatic;
RecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClient;
string strSQL;
strSQL = (string)ViewState["sql"];
RecordsetADO.Open(strSQL, ConnADO,ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockBatchOptimistic,1);
owcChartSpace.DataSource = (msdatasrc.DataSource)RecordsetADO;

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypePie;
owcChart.HasLegend = true;

OWC.WCSeries ser;
ser = owcChart.SeriesCollection.Add(0);
ser.SetData(OWC.ChartDimensionsEnum.chDimCategories ,0,"分公司");
ser.SetData(OWC.ChartDimensionsEnum.chDimValues,0,"销售额");
OWC.WCDataLabels dls = ser.DataLabelsCollection.Add();
dls.HasPercentage = true;
dls.HasValue = false;

string sFileName = Session["user"].ToString() + DateTime.Now.ToFileTime().ToString() + ".gif";

owcChartSpace.ExportPicture("e:\\ExcelFiles\\" + sFileName ,"gif",650,500);
Image1.ImageUrl = "e:\\ExcelFiles\\" + sFileName;
Image1.Width = 650;Image1.Height = 500;
Image1.Visible = true;
//RemoveFiles("e:\\ExcelFiles\\" + sFileName);
}
gj0001 2003-08-19
  • 打赏
  • 举报
回复
owc做的,给你代码。
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 195px; POSITION: absolute; TOP: 25px" runat="server" ForeColor="#FF8000" Font-Bold="True">各地平均气温分析图表</asp:Label>
<asp:Image id="Image1" style="Z-INDEX: 102; LEFT: 28px; POSITION: absolute; TOP: 79px" runat="server"></asp:Image>
</form>
</body>
</HTML>


Public Class WebForm7
Inherits System.Web.UI.Page
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Image1 As System.Web.UI.WebControls.Image

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
'Dim objConn As New OleDbConnection()
Dim owcChartSpace As OWC.ChartSpace = New OWC.ChartSpace()
Dim owcChart As OWC.WCChart = owcChartSpace.Charts.Add
Dim ConnADO As New ADODB.Connection()
Dim RecordsetADO As New ADODB.Recordset()
'Dim myConnection As New Sqlconnection("server=yang;database=dcss;Trusted_Connection=yes")
Dim connectionString As String
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Grades.mdb")
ConnADO.Open(connectionString)

RecordsetADO.ActiveConnection = ConnADO
RecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStatic
RecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClient
Dim strSQL As String
strSQL = "Select city, month, temperature From test order by city,ids"
RecordsetADO.Open(strSQL, ConnADO)
owcChartSpace.DataSource = RecordsetADO

owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineMarkers
'owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered

owcChart.HasLegend = True
owcChart.Legend.Font.Size = "9"






owcChart.SetData(OWC.ChartDimensionsEnum.chDimSeriesNames, 0, "city")
Dim owcSeries As OWC.WCSeries
For Each owcSeries In owcChart.SeriesCollection
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, "month")
owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, "temperature")
Next



'先定义axis为坐标轴集合

Dim axis As OWC.WCAxis

'遍历坐标轴集合

For Each axis In owcChart.Axes

'显示轴标题

axis.HasTitle = True

'先对分类(X)轴进行设置

If axis.Type = OWC.ChartAxisTypeEnum.chCategoryAxis Then

axis.HasTickLabels = True

'显示X轴刻度标签

axis.Position = OWC.ChartAxisPositionEnum.chAxisPositionBottom

'标签的显示位置

axis.Title.Font.Color = "red"

'X轴的标题文字颜色

axis.Title.Font.Size = "16"

'X轴的标题文字大小

axis.Title.Caption = "月份"

'X轴的标题文字内容

Else

'对数值(Y)轴进行设置



axis.MajorGridlines.Line.Color = "999999"

'Y轴主要网络线的颜色

axis.MajorTickMarks = OWC.ChartTickMarkEnum.chTickMarkNone

'不显示Y轴主要刻度标记

axis.HasTickLabels = True

'显示Y轴刻度标签

axis.Title.Font.Color = "green"

'Y轴的标题文字颜色

axis.Title.Font.Size = "16"

'Y轴的标题文字大小

axis.Title.Caption = "平均气温"

'Y轴的标题文字内容

End If

Next



Randomize()
Dim nfilenameSuffix As Integer
Dim sfilenamesuffix As String
nfilenameSuffix = 100000 * Rnd()
sfilenamesuffix = System.Convert.ToString(nfilenameSuffix)
owcChartSpace.ExportPicture(MapPath("city/tmp_") + sfilenamesuffix + ".gif", "gif", 640, 480)
Image1.ImageUrl = "city/tmp_" + sfilenamesuffix + ".gif"
owcChartSpace.Clear()
RecordsetADO.Close()
ConnADO.Close()

End Sub

Private Sub InitializeComponent()

End Sub
End Class
liuqinyi 2003-08-19
  • 打赏
  • 举报
回复
水晶报表。专门做报表的。
carrel 2003-08-19
  • 打赏
  • 举报
回复
gz
acewang 2003-08-19
  • 打赏
  • 举报
回复
是用水静报表(Crystal Report)可以实现你要的功能:
这有水晶报表的使用经验和资料总结
http://expert.csdn.net/Expert/topic/1900/1900717.xml?temp=2.103823E-02
ahking 2003-08-19
  • 打赏
  • 举报
回复
自己做一个绘图控件
saf9 2003-08-19
  • 打赏
  • 举报
回复
可以给我一点详细的资料吗,谢谢
chnking 2003-08-19
  • 打赏
  • 举报
回复
还有可以用crystal report,也可以做各种统计图

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧