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

利用OWC生成統計報表(柱形圖)

編輯:關於.NET

項目中牽涉到數據報表統計,客戶需要生成柱形圖進行統計。首先想到用OWC(Office Web Components),owc11控件是office圖表控件(owc10是officeXP中的組件,owc11為office2003的組件,組件路徑在:C:\Program Files\Common Files\Microsoft Shared\Web Components\11\owc11,幫助文件的路徑為C:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052),調用它可以生成三維圖、柱狀圖、餅狀圖、趨勢圖和誤差圖等。)

要是想OWC生成柱形圖表,首先必須引用OWC11才能使用其中的方法。下面是我通過參考文檔實現的效果:(柱形圖效果)

下面是參考代碼:(僅供參考)

ChartSpaceowcChartSpace=newChartSpace();//創建ChartSpace對象來放置圖表

ChChartchart=owcChartSpace.Charts.Add(0);//在ChartSpace對象中添加圖表,Add方法返回chart對象

chart.Type=ChartChartTypeEnum.chChartTypeColumnClustered;//指定圖表的類型。類型由OWC.ChartChartTypeEnum枚舉值得到//Microsoft.Office.Interop.OWC.ChartChartTypeEnum

      //指定圖表是否需要圖例
      chart.HasLegend=true;
      //標題
      chart.HasTitle=true;
      chart.Title.Caption="祝朋友們心想事成";
      //x,y軸的圖示說明
      chart.Axes[0].HasTitle=true;
      chart.Axes[0].Title.Caption="X:"+"月份";
      chart.Axes[1].HasTitle=true;
      chart.Axes[1].Title.Caption="Y:"+"收入";
      chart.SeriesCollection.Add(0);//添加一個series
      //給定值
      chart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,
       +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "3000\t4000\t5000\t6000");
      //給定分類
      chart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,
       +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "3月份\t6月份\t9月份\t12月份");
      //自定義柱形顏色
      string[]colorString={"red","blue","yellow","green"};
      for(inti=0;i<4;i++)
      {
        chart.SeriesCollection[0].Points[i].Interior.SetSolid(colorString[i]);
      }
      //表示柱形圖上的單個數據標志
      Microsoft.Office.Interop.Owc11.ChDataLabelsdl=chart.SeriesCollection[0].DataLabelsCollection.Add();
      dl.HasValue=true;
      //保存為gif圖片
      stringfilename=DateTime.Now.ToString("yyyyMMddHHmmssff")+".gif";
      owcChartSpace.ExportPicture(@"D:\"+filename,"GIF",500,320);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved