首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

使用 OWC 11 產生統計柱狀圖

     編輯:關於.NET

專案需求需產生柱狀圖報表,選用 Office Web Components 11 (OWC11),它是 Office 2003 的圖表元件,支援 3D 圖、柱狀圖、圓餅圖、趨勢圖等。

環境準備

  • 參考 Microsoft.Office.Interop.Owc11 組件
  • 元件路徑:C:\Program Files\Common Files\Microsoft Shared\Web Components\11\owc11.dll

完整程式碼範例

// 建立圖表空間
ChartSpace chartSpace = new ChartSpace();

// 新增圖表
ChChart chart = chartSpace.Charts.Add(0);
chart.Type = ChartChartTypeEnum.chChartTypeColumnClustered; // 群組柱狀圖

// 圖例與標題
chart.HasLegend = true;
chart.HasTitle = true;
chart.Title.Caption = "祝朋友們心想事成";

// 座標軸標題
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);

// 設定數值 (值用 Tab 分隔)
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[] colors = { "red", "blue", "yellow", "green" };
for (int i = 0; i < 4; i++) {
    chart.SeriesCollection[0].Points[i].Interior.SetSolid(colors[i]);
}

// 顯示數值標籤
ChDataLabels labels = chart.SeriesCollection[0].DataLabelsCollection.Add();
labels.HasValue = true;

// 匯出為 GIF 圖片
string fileName = DateTime.Now.ToString("yyyyMMddHHmmssff") + ".gif";
chartSpace.ExportPicture(@"D:\" + fileName, "GIF", 500, 320);

關鍵點說明

  • SetData 方法的第三個參數使用 Tab (\t) 分隔多個資料點
  • Points[i].Interior.SetSolid 可單獨設定每個柱狀的顏色
  • DataLabelsCollection 開啟 HasValue 可在柱狀上方顯示數值
  • ExportPicture 支援 GIF、JPG、PNG 等格式,可指定寬高

OWC11 雖然是較舊技術,但在無法使用現代圖表庫的舊系統維護案例中仍具參考價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved