亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net中調用Office來制作3D統計圖的實例代碼

2024-07-10 13:15:04
字體:
來源:轉載
供稿:網友

1、首先下載owc11 COM組件

?FamilyID=7287252c-402e-4f72-97a5-e0fd290d4b76&displaylang=en

2、注冊owc11

  在工程中添加 C:/Program Files/Common Files/Microsoft Shared/Web Components/11  文件下的owc11.dll引用

  3、在工程中添加

  using OWC11;

  4、開始coding  舉例如下:

復制代碼 代碼如下:


   public class ChartFactory
  {
  public ChartFactory()
  {
  InitTypeMap();
  //
  // TODO: 在此處添加構造函數邏輯
  //
  }
  protected System.Web.UI.WebControls.Image imgHondaLineup;
  private string[] chartCategoriesArr;
  private string[] chartValuesArr;
  private OWC11.ChartChartTypeEnum chartType =  OWC11.ChartChartTypeEnum.chChartTypeColumn3D;//默認值
  private static Hashtable chartMap = new Hashtable();
  private static string chartTypeCh = "垂直柱狀圖" ;
  private static string chartTitle = "";

  private void InitTypeMap()
  {
  chartMap.Clear();
  OWC11.ChartChartTypeEnum[] chartTypes = new OWC11.ChartChartTypeEnum[]{ ChartChartTypeEnum.chChartTypeColumnClustered,
  ChartChartTypeEnum.chChartTypeColumn3D,
  ChartChartTypeEnum.chChartTypeBarClustered,
  ChartChartTypeEnum.chChartTypeBar3D,
  ChartChartTypeEnum.chChartTypeArea,
  ChartChartTypeEnum.chChartTypeArea3D,
  ChartChartTypeEnum.chChartTypeDoughnut,
  ChartChartTypeEnum.chChartTypeLineStacked,
  ChartChartTypeEnum.chChartTypeLine3D,
  ChartChartTypeEnum.chChartTypeLineMarkers,
  ChartChartTypeEnum.chChartTypePie,
  ChartChartTypeEnum.chChartTypePie3D,
   ChartChartTypeEnum.chChartTypeRadarSmoothLine,
  ChartChartTypeEnum.chChartTypeSmoothLine};

 

  string[] chartTypesCh = new string [] {"垂直柱狀統計圖","3D垂直柱狀統計圖","水平柱狀統計圖","3D水平柱狀統計圖","區域統計圖","3D區域統計圖","中空餅圖","折線統計圖","3D折線統計圖","折線帶點統計圖","餅圖","3D餅圖","網狀統計圖","弧線統計圖"};


   for(int i=0;i<chartTypes.Length;i++)
  {
  chartMap.Add(chartTypesCh[i],chartTypes[i]);
  }
  }
  public ChartSpaceClass BuildCharts ()
  {
  string chartCategoriesStr = String.Join ("/t", chartCategoriesArr);
  string chartValuesStr = String.Join ("/t", chartValuesArr);

OWC11.ChartSpaceClass       oChartSpace = new OWC11.ChartSpaceClass ();

  // ------------------------------------------------------------------------
  // Give pie and doughnut charts a legend on the bottom. For the rest of
  // them let the control figure it out on its own.
  // ------------------------------------------------------------------------

  chartType = (ChartChartTypeEnum)chartMap[chartTypeCh];

  if (chartType == ChartChartTypeEnum.chChartTypePie ||
  chartType == ChartChartTypeEnum.chChartTypePie3D ||
  chartType == ChartChartTypeEnum.chChartTypeDoughnut)
  {
  oChartSpace.HasChartSpaceLegend = true;
  oChartSpace.ChartSpaceLegend.Position = ChartLegendPositionEnum.chLegendPositionBottom;
  }

  oChartSpace.Border.Color = "blue";
  oChartSpace.Charts.Add(0);
  oChartSpace.Charts[0].HasTitle = true;
  oChartSpace.Charts[0].Type = chartType;
  oChartSpace.Charts[0].ChartDepth = 125;
  oChartSpace.Charts[0].AspectRatio = 80;
  oChartSpace.Charts[0].Title.Caption = chartTitle;
  oChartSpace.Charts[0].Title.Font.Bold = true;

  oChartSpace.Charts[0].SeriesCollection.Add(0);
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection.Add ();

  // ------------------------------------------------------------------------
  // If you're charting a pie or a variation thereof percentages make a lot
  // more sense than values...
  // ------------------------------------------------------------------------
   if (chartType == ChartChartTypeEnum.chChartTypePie ||
  chartType == ChartChartTypeEnum.chChartTypePie3D ||
  chartType == ChartChartTypeEnum.chChartTypeDoughnut)
  {
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasPercentage = true;
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasValue = false;
  }
  // ------------------------------------------------------------------------
  // Not so for other chart types where values have more meaning than
  // percentages.
  // ------------------------------------------------------------------------
  else
  {
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasPercentage = false;
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasValue = true;
  }
  
  // ------------------------------------------------------------------------
  // Plug your own visual bells and whistles here
  // ------------------------------------------------------------------------
  oChartSpace.Charts[0].SeriesCollection[0].Caption = String.Empty;
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Name = "verdana";
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Size = 10;
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Bold = true;
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Color = "red";
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Position = ChartDataLabelPositionEnum.chLabelPositionCenter;
  
  if (chartType == ChartChartTypeEnum.chChartTypeBarClustered ||
  chartType == ChartChartTypeEnum.chChartTypeBar3D ||
  chartType == ChartChartTypeEnum.chChartTypeColumnClustered ||
  chartType == ChartChartTypeEnum.chChartTypeColumn3D)
  {
  oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Position = ChartDataLabelPositionEnum.chLabelPositionOutsideEnd;
  }
  
  oChartSpace.Charts[0].SeriesCollection[0].SetData (OWC11.ChartDimensionsEnum.chDimCategories,
  Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), chartCategoriesStr);


oChartSpace.Charts[0].SeriesCollection[0].SetData (OWC11.ChartDimensionsEnum.chDimValues,
  Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), chartValuesStr);

  return oChartSpace;
  }

  #region  屬性設置
  public string[] chartCategoriesArrValue
  {
  get
  {
  return chartCategoriesArr;
  }
  set
  {
  chartCategoriesArr = value;
  }
  }

  public string[] chartValuesArrValue
  {
  get
  {
  return chartValuesArr;

   }
  set
  {
  chartValuesArr = value;
  }
  }
  public string chartTypeValue
  {
  get
  {
  return chartTypeCh;
  }
  set
  {
  chartTypeCh = value;
  }
  }
  public string chartTitleValue
  {
  get
  {
  return chartTitle;
  }
  set
  {
  chartTitle = value;
  }
  }
  #endregion
  }

  //調用   首先需要在頁面上放置一個Image來顯示產生的統計圖

  public void ShowChart()
  {

  //初始化賦值
  chartFactory.chartCategoriesArrValue = chartCategories;
  chartFactory.chartValuesArrValue = chartValues;
  chartFactory.chartTitleValue = chartTitle;
  chartFactory.chartTypeValue = chartType;

  OWC11.ChartSpaceClass oChartSpace = chartFactory.BuildCharts();
  string path = Server.MapPath(".") + @"/images/Chart.jpeg";  //產生圖片并保存 頁可以是png gif圖片
  oChartSpace.ExportPicture(path,"jpeg", 745, 500);
  Image1.ImageUrl = path;  // 顯示統計圖
  }

  // 保存統計圖請參照上一篇文章

  //由于每次生成的統計圖都會覆蓋原來的圖片所以有必要的話可以用日期加時間的方式來作為圖片的名字,但是這樣將會產生很多圖片需及時處理,如不需要只需取同名覆蓋原來圖片即可。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品爱啪在线线免费观看| 国产日韩一区在线| 在线丨暗呦小u女国产精品| 久久久久久久久久久久久久久久久久av| 色悠悠久久久久| 国内揄拍国内精品少妇国语| 国产精品久久久久久影视| 亚洲经典中文字幕| 亚洲视频一区二区三区| 97精品久久久中文字幕免费| 久久国产精品久久久久久| 97人人做人人爱| 精品国产1区2区| 亚洲成人久久一区| 久久精品视频99| 久久久久久久999| 亚洲人成网站色ww在线| 欧美黑人性生活视频| 久久国产精品99国产精| 国产精品视频网| 麻豆国产va免费精品高清在线| 色偷偷88888欧美精品久久久| 欧美国产激情18| 欧美一区二粉嫩精品国产一线天| 午夜欧美大片免费观看| 97超级碰碰人国产在线观看| 亚洲一品av免费观看| 亚洲黄色www网站| 国产日产欧美a一级在线| 国产成人综合久久| 欧美猛交ⅹxxx乱大交视频| 久久久精品一区| xvideos亚洲人网站| 亚洲a∨日韩av高清在线观看| 伊人久久免费视频| 69视频在线免费观看| 国产噜噜噜噜久久久久久久久| 亚洲白虎美女被爆操| 久久精品视频免费播放| 久热99视频在线观看| 亚洲аv电影天堂网| 亚洲成人a**站| 91av视频导航| 欧美极品在线视频| 亚洲r级在线观看| 97成人精品区在线播放| 日韩免费av一区二区| 久久精品成人动漫| 国产亚洲精品日韩| 久久99精品国产99久久6尤物| 日韩精品视频在线观看免费| 日韩综合视频在线观看| 亚洲精品小视频在线观看| 久久国产精品久久久久久| 欧美综合激情网| 九九热视频这里只有精品| 欧美精品久久久久a| 欧美激情视频在线免费观看 欧美视频免费一| 美女精品视频一区| 这里只有精品在线观看| 91免费在线视频网站| 亚洲激情电影中文字幕| 91精品国产自产在线老师啪| 欧美日韩福利电影| 国产精品久久久久久久久久久久| 97超级碰碰碰| 精品国内自产拍在线观看| 欧美午夜女人视频在线| 国外成人免费在线播放| 国产精品男人爽免费视频1| 欧美人在线视频| 7m精品福利视频导航| 欧美中文字幕在线播放| 日韩av一区二区在线观看| 国产精品人人做人人爽| 精品国产鲁一鲁一区二区张丽| 秋霞av国产精品一区| 日本伊人精品一区二区三区介绍| 日韩av中文字幕在线播放| 久久精品中文字幕| 日本伊人精品一区二区三区介绍| 久久精品视频在线观看| 日本精品一区二区三区在线播放视频| 日韩中文字幕视频| 国产精品福利在线观看| 亚洲成人精品视频| 中文字幕亚洲激情| 国产精品成人播放| 亚洲视频在线观看免费| 亚洲国产成人在线视频| 欧美午夜宅男影院在线观看| 国产精品一区二区久久久久| 国产精品露脸自拍| 韩剧1988在线观看免费完整版| 亚洲精品欧美日韩专区| 精品国产乱码久久久久久虫虫漫画| 欧美日韩在线视频一区| 91成人性视频| 亚洲色图13p| 国产999在线观看| 亚洲精品一区中文字幕乱码| 国产精品自产拍高潮在线观看| 日韩欧美一区二区三区| 中日韩午夜理伦电影免费| 最新的欧美黄色| 欧美人成在线视频| 日韩视频免费在线观看| 九色精品美女在线| 97精品伊人久久久大香线蕉| 亚洲男人天堂九九视频| 亚洲韩国青草视频| 精品久久久在线观看| 亚洲三级免费看| yellow中文字幕久久| 日韩网站免费观看| 一本色道久久88精品综合| 色午夜这里只有精品| 国产精品视频最多的网站| 国产精品女主播视频| 久久久成人精品视频| 97色在线观看| 亚洲成人av资源网| 久久免费在线观看| 亚洲最大av网| 久久伊人精品视频| 日韩成人av网址| 日韩精品久久久久久福利| 亚洲国产精品va在看黑人| 91亚洲va在线va天堂va国| 亚洲色图在线观看| 97久久精品在线| 丝袜美腿亚洲一区二区| 欧美日韩国产影院| 91在线免费网站| 久久人人爽人人爽人人片亚洲| 精品少妇v888av| 日韩专区中文字幕| 97在线观看免费高清| 国产精品亚洲片夜色在线| 国产精品综合久久久| 精品国产一区二区三区久久狼5月| 国产精品一二三视频| 欧美日韩国产精品一区| 欧美日韩成人在线视频| 欧美精品一区二区三区国产精品| 亚洲人成电影网站色www| 日韩精品中文在线观看| 亚洲精品一区二三区不卡| 国产精品大陆在线观看| 久久久精品999| 国外成人性视频| 欧美做爰性生交视频| 亚洲国产福利在线| 欧美成人午夜视频| 一本色道久久88综合日韩精品| 欧美怡春院一区二区三区| 国产精品91在线| 久久夜色精品亚洲噜噜国产mv| 一级做a爰片久久毛片美女图片| 日产日韩在线亚洲欧美| 亚洲欧美制服丝袜| 日韩精品中文字幕久久臀| 国产ts一区二区| 亚洲综合中文字幕在线观看|