程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> asp.net利用OWC生成餅狀圖、柱狀圖

asp.net利用OWC生成餅狀圖、柱狀圖

編輯:關於ASP.NET

OWC(Microsoft Office Web Components)是 Microsoft Office 使用的數據綁定 ActiveX 控件,安裝office就有了,其實也可以單獨安裝的(google下載),使用OWC做了一個餅狀圖和柱狀圖,感覺比較簡單,開發難度小,效率比較高,OWC的主要原理是按照所傳入的數據生成相應的圖片,然後開發人員將該圖片加載到相應的位置即可實現效果,個人感覺生成的圖比較粗糙,但是真的封裝的很好,只需按照函數要求輸入數據就OK了,可以設置圖片的背景色,字體,大小等等。

在vs2005/2008裡面開發的時候先要右鍵--》添加引用--》Com-》Microsoft Office Web components 11(這是安裝了office2007,2003好像直接叫Microsoft  OWc 什麼的)

餅狀圖:

protected void pieBtn_Click(object sender, EventArgs e)
     {
         //創建X坐標的值,表示月份

         int[] month ={ 1, 2, 3 };
         //創建Y坐標的值,表示銷售額
         double[] count ={ 120, 240, 220 };
         string strDataName = "";
         string strData = "";
         //創建圖表空間
         ChartSpace mychartSpace = new ChartSpace();
         mychartSpace.Border.Color = "White";
         //在圖表空間內添加一個圖表對象
         ChChart mychart = mychartSpace.Charts.Add(0);
         //設置每塊餅的數據

        for(int i=0;i<count.Length;i++)
         {
             strDataName += month[i].ToString()+ "\t";
             strData += count[i].ToString()+ "\t";
         }

         //設置圖表類型,本例使用餅
         mychart.Type = ChartChartTypeEnum.chChartTypePie;
         //設置圖表的一些屬性
         //是否需要圖例
         mychart.HasLegend = true;
         //是否需要主題
         mychart.HasTitle = true;
         //主題內容
         mychart.Title.Caption ="餅狀圖測試";
         mychart.Title.Font.Size = 10;
         mychart.Title.Font.Bold = false;
         mychart.Legend.Position = ChartLegendPositionEnum.chLegendPositionBottom;
         mychart.Legend.Interior.Color = "f9f9f9";
         mychart.Legend.Font.Size = 9;
         mychart.Legend.Border.Color = "White";

         //添加圖表塊
         mychart.SeriesCollection.Add(0);
         //設置圖表塊的屬性
         //分類屬性
         mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,
         (int)ChartSpecialDataSourcesEnum.chDataLiteral, strDataName);
         //值屬性
         mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,
         (int)ChartSpecialDataSourcesEnum.chDataLiteral, strData);
         for (int j = 0; j < mychart.SeriesCollection[0].Points.Count; j++)
         {
             mychart.SeriesCollection[0].Points[j].Border.Color = "White";
         }
         //顯示百分比
         ChDataLabels mytb = mychart.SeriesCollection[0].DataLabelsCollection.Add();
         mytb.HasPercentage = true;
         //mytb.Border.Color = "White";
         mytb.HasValue = true;
         //生成圖片
         mychartSpace.ExportPicture(Server.MapPath(".") + @"\stat.gif", "gif", 700, 400);
         //加載圖片
         this.ig.ImageUrl = "stat.gif" + "?temp=" + new Random().Next(1, 100) + ""; ;
     }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved