2014-08-28 101 views
0

我有一些通過C#代碼生成的excel圖表對象。圖表類型是ColumnClustered。每個酒吧都有通過下面的代碼產生了一些DataLabel:設置Excel圖表DataLabels的位置

_excel_chartPage.ApplyDataLabels(Excel.XlDataLabelsType.xlDataLabelsShowLabel, _misValue, _misValue, _misValue, true, false, _misValue, _misValue, _misValue, _misValue); 

現在我想從標籤上面條移動到低於(每欄)。 爲了完成這個任務,我試圖用這個代碼:

Excel.Point _pts = (Excel.Point)_series_1.Points(1); 
_pts.DataLabel.Position = Excel.XlDataLabelPosition.xlLabelPositionBelow; 

此代碼不能正常工作,並出現了一些HRESULT異常,但是在這裏我使用例如Excel.XlDataLabelPosition.xlLabelPositionCenter標籤移到各個酒吧的中心。

如何將它們移動到每個條的下方?

回答

0

不同類型的圖表支持不同的標籤位置。例如羣集柱形圖支持這些位置:

enter image description here

這意味着不能使用下面的選項,該選項用於散點圖例如。嘗試將其分配給聚集列系列會導致出現異常。

我只需右鍵單擊標籤並選擇「格式化數據標籤」(或鍵盤上的Ctrl + 1)即可獲得這些選項。你可以嘗試不同的選項,看看是否有任何適合你的作品。如果沒有,你可以做各種各樣的黑客攻擊。就像插入一個僅用於標籤的無形系列一樣,這是我們經常使用的。

+0

Mitja,非常感謝您的線索。按照這種方式,我這樣做了:'_pts_series_1 =(Excel.Point)_series_1.Points(1); _pts_series_1.DataLabel.Position = Excel.XlDataLabelPosition.xlLabelPositionInsideBase; _pts_series_1.DataLabel.Top = 245;' – 2014-09-01 08:02:45