OWC组件生成柱状图
1、OWC介紹
在Microsoft Office 2003中包含有一組稱為OWC的新控件集合。利用這些組件,可以在Web瀏覽器及其他傳統的編程環境下,創建許多有用的數據分析解決方案和報表生成解決方案。下面幾篇文章是使用OWC組件生成圖表方面的相關知識。
OWC是與Microsoft Office一起安裝的一組ActiveX控件。如果在計算機上安裝了Office Web組件,則可以在Internet Explorer 5.01 SP2或更高版本中對電子表格、數據透視表和圖表進行交互訪問。如果在Microsoft Access的數據訪問頁中使用這些組件,則需要安裝Internet Explorer 5.01 SP2或更高版本。如果計算機上未安裝Office Web組件,可以從Microsoft公司的網站下載Office Web組件。這樣,用戶無須在計算機上安裝Office軟件,就可使用OWC。
OWC庫中包含了Spreadsheet(電子數據表)組件、Chart(圖表)組件、PivotTable(數據透視表)組件和Data Source(數據源)4個組件。Office Web Components的非凡之處在于它們可以在諸如Web頁面、Visual Basic表單等控件容器中使用,也可在內存中作為不可見的對象使用。大多數COM控件只能在控件容器中作為可視控件使用,而大多數不可見對象則只能在內存中使用,而不能放入表單中或Web頁面中。
2、設計思路
在使用OWC組件生成圖片之前,首先需要將OWC組件引用到網站工程中。引用OWC組件之后,需要創建一個圖表控件,然后在圖表控件中添加一個圖表對象,并且設置圖表對象的相關屬性,獲得圖表塊的數據信息,最后使用圖表控件的方法生成一個保存有圖表數據信息的圖片,在Web網頁中通過調用該圖片顯示生成的圖表信息,具體實現的設計思路如下圖所示。
3、前臺代碼
<img alt="" src="temp.gif" style="width: 600px; height: 450px" />
4、后臺代碼
4.1、項目添加引用 Microsoft?Office Web Components 11.0。
4.2、在文件里面引用如下
using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
4.3、具體程序代碼
namespace GenerateCharts{
public partial class Column : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//創建圖表空間
ChartSpace myspace = new ChartSpace();
//添加一個圖表對象
ChChart mychart = myspace.Charts.Add(0);
mychart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//柱形
//mychart.Type = ChartChartTypeEnum.chChartTypeBarClustered;//條形圖
//mychart.Type = ChartChartTypeEnum.chChartTypeLine;//折線圖
//mychart.Type = ChartChartTypeEnum.chChartTypeArea;//面積圖
//mychart.Type = ChartChartTypeEnum.chChartTypeArea3D;//3D面積圖
//mychart.Type = ChartChartTypeEnum.chChartTypeBar3D;//3D條形圖
//mychart.Type = ChartChartTypeEnum.chChartTypeColumn3D;//3D柱形圖
//...等
//設置圖表相關屬性
mychart.HasLegend = true;
mychart.HasTitle = true;
mychart.Title.Caption = "員工信息圖表";
//設置X,Y軸坐標
mychart.Axes[0].HasTitle = true;
mychart.Axes[0].Title.Caption = "籍貫";
mychart.Axes[1].HasTitle = true;
mychart.Axes[1].Title.Caption = "人數";
//連接并且打開數據庫
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);
if (adds.Tables[0].Rows.Count > 0)
{
//添加圖表
for (int i = 0; i < adds.Tables[0].Rows.Count; i++)
{
mychart.SeriesCollection.Add(0);
}
//添加圖表數據
for (int j = 0; j < adds.Tables[0].Rows.Count; j++)
{
//設置圖表塊屬性
mychart.SeriesCollection[j].Caption = adds.Tables[0].Rows[j][0].ToString();
mychart.SeriesCollection[j].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, adds.Tables[0].Rows[j][0].ToString());
mychart.SeriesCollection[j].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, Convert.ToInt32(adds.Tables[0].Rows[j][1].ToString()));
}
}
sqlcon.Close();
//生成圖表
myspace.ExportPicture(Server.MapPath(".") + @"\temp.gif", "gif", 600, 450);
}
}
}
注:在自己項目Web.config里面配置數據庫連接串。
4.4、數據結果如下
5、效果圖如下
參考:http://book.51cto.com/art/201112/308970.htm
轉載于:https://www.cnblogs.com/XuebinDing/archive/2012/03/29/2422980.html
總結
以上是生活随笔為你收集整理的OWC组件生成柱状图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 神舟KP7怎么U盘启动 神舟KP7如何使
- 下一篇: 插了u盘后电脑开不了怎么办啊 电脑插U盘