項目中牽涉到數據報表統計,客戶需要生成柱形圖進行統計。首先想到用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);