【问题标题】:Change line colour in Excel 2007 chart series更改 Excel 2007 图表系列中的线条颜色
【发布时间】:2012-01-12 08:10:38
【问题描述】:

首先,我在这里查看了所有其他帖子,关于这个(我认为),但没有一个能解决它。

我在 excel 中有一个图表,我想在其中更改线条的颜色。似乎,系列线设置中的所有内容都遥不可及。如果我不能设置颜色,我想将填充设置为无,所以线条是不可见的,只显示我可以操作的标记。

不过,填充也在颜色设置中。

我也尝试过录制宏,但除了系列选择之外什么都没有显示。

这里的其他帖子,建议在系列上设置边框,但据我所知没有边框对象。

有人有什么技巧可以解决这个问题吗?

【问题讨论】:

  • 如何通过 c# 代码访问 excel? (基于您的标签)
  • @Moonlight,使用 Microsoft.Office.Interop.Excel
  • 发布您拥有的代码会很有帮助,即选择系列的 c#。图表是在常规工作表还是图表表中?

标签: c# charts excel-2007 excel-interop


【解决方案1】:

所以,在 MSDN 论坛上,Andrei Smolin 设法为我解决了这个问题。 确实是 Series.Border 修复了它。

最大的问题是,Border 没有作为系列中的对象出现。甚至在 VBA 中也没有。 它似乎在 Excel 2010 中已修复,但这是我在 2007 SP3 中遇到的行为。

因此,解决方案是简单地输入:

MSExcel.Series Series1 = (MSExcel.Series)Chart.SeriesCollection(1);
Series1.Border.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.FromArgb(79, 129, 189));

编译良好,并且在运行时工作。

作为参考,这是 MSDN 线程:

http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/2816660e-a18e-47f4-b121-02a71cb2c262

【讨论】:

    【解决方案2】:

    除了 Nicolai 的回答,还有一种更简单的方法可以将颜色值传递给 Border.Color,例如:

        Series1.Border.Color = (int) XlRgbColor.rgbRed;
    

    【讨论】:

      【解决方案3】:

      对于 Excel 2007,如下:

      series5.Interior.Color = Color.FromArgb(80, 208, 146).ToArgb();

      为我工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-17
        相关资源
        最近更新 更多