您的位置:首页 > 其它

OWC组件生成折线图

2012-03-29 15:58 141 查看
1、介绍和思路请参照
  /article/7064418.html

2、前台代码
  <img alt="" src="temp.gif" style="width: 600px; height: 450px" />

3、后台代码
  3.1、项目添加引用
  Microsoft Office Web Components 11.0。
  Microsoft Office Template an Media Control 1.0 Type Library。

  3.2、选择“引用”文件夹中引入的dll:OWC11,鼠标右键选择属性,把“嵌入互操作类型”设置为False。
  


  3.2、在文件里面引用如下  

using Microsoft.Office.Interop.Owc11;//Owc组件

using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;


  3.3、具体程序代码

namespace GenerateCharts
{
public partial class Line : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//连接并且打开数据库
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
sqlcon.Open();
string strsqls = "SELECT 籍贯, COUNT(籍贯) AS 人数 FROM tb_ygxx GROUP BY 籍贯";
SqlDataAdapter adsa = new SqlDataAdapter(strsqls, sqlcon);
DataSet adds = new DataSet();
adsa.Fill(adds);
//为x轴y轴指定特定字符串,以便显示数据
string strXdata = String.Empty;
string strYdata = String.Empty;
if (adds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < adds.Tables[0].Rows.Count; i++)
{
strXdata = strXdata + adds.Tables[0].Rows[i][0].ToString() + "\t";
strYdata = strYdata + adds.Tables[0].Rows[i][1].ToString() + "\t";
}
}

//创建ChartSpace对象来放置图表
ChartSpace laySpace = new ChartSpaceClass();

//在ChartSpace对象中添加图表
ChChart InsertChart = laySpace.Charts.Add(0);

//指定绘制图表的类型。类型可以通过OWC.ChartChartTypeEnum枚举值得到
InsertChart.Type = ChartChartTypeEnum.chChartTypeLine;  //折线图
34             //指定图表是否需要图例标注
InsertChart.HasLegend = false;
InsertChart.HasTitle = true;//为图表添加标题
InsertChart.Title.Caption = "员工信息图表";//标题名称
38             //为x,y轴添加图示说明
InsertChart.Axes[0].HasTitle = true;
InsertChart.Axes[0].Title.Caption = "籍贯";//x轴说明
InsertChart.Axes[1].HasTitle = true;
InsertChart.Axes[1].Title.Caption = "人数";//y轴说明

44             //添加一个series系列
InsertChart.SeriesCollection.Add(0);
////给定series系列的名字
//InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "员工信息图表");
48             //给定分类
InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
//给定值
InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);
//输出文件.
laySpace.ExportPicture(Server.MapPath(".") + @"\temp.gif", "gif", 600, 450);
}
}
}


4、效果图如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: