【问题标题】:set Excel Chart DataLabels position设置 Excel 图表数据标签位置
【发布时间】:2014-08-29 01:13:52
【问题描述】:

我有一些通过 C# 代码生成的 excel 图表对象。图表类型是 ColumnClustered。每个柱都有一些通过以下代码生成的 DataLabel:

_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 标签正在移动到每个条的中心。

如何将它们移到每个条形下方?

【问题讨论】:

    标签: c# excel charts


    【解决方案1】:

    不同类型的图表支持不同的标签位置。例如,聚集柱形图支持以下位置:

    这意味着您不能使用以下选项,例如用于散点图的选项。尝试将其分配给聚集列系列会导致您遇到异常。

    我只需右键单击标签并选择“格式化数据标签”(或键盘上的 Ctrl + 1)即可获得这些选项。您可以尝试不同的选项,看看其中任何一个是否适合您。如果没有,你可以做各种黑客攻击。就像插入一个只用于标签的无形系列就是我们经常使用的。

    【讨论】:

    • Mitja,非常感谢您提供的线索。就这样我做到了:_pts_series_1 = (Excel.Point)_series_1.Points(1); _pts_series_1.DataLabel.Position = Excel.XlDataLabelPosition.xlLabelPositionInsideBase; _pts_series_1.DataLabel.Top = 245;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多