【问题标题】:How do we set the position of an Excel chart from C#?我们如何在 C# 中设置 Excel 图表的位置?
【发布时间】:2010-02-03 09:44:54
【问题描述】:

我正在尝试从 C# 生成 Excel 图表。图表只是 find 生成的,但它总是出现在屏幕的中心。如何设置图表的位置?

谢谢。

我的代码如下所示:

Microsoft.Office.Interop.Excel._Workbook ebook = (Microsoft.Office.Interop.Excel._Workbook)etablo.Workbooks.Add(true);

Microsoft.Office.Interop.Excel._Worksheet esheet = (Microsoft.Office.Interop.Excel._Worksheet)ebook.ActiveSheet;

_Chart grafik1 = (Chart)ebook.Charts.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);

/* Add Data From Cells here */
/* Then */
grafik1.Location(XlChartLocation.xlLocationAsObject, esheet.Name);

【问题讨论】:

  • 您能否发布一个超级简化的示例来说明您现在正在做什么来创建图表?空图表就可以了。我认为这将是一个有用的起点。
  • @Mark Byers 已更新。这些代码来自我在某处找到的示例。我不确定这是否是正确的方法

标签: c# excel charts


【解决方案1】:

生成图表后,可以将图表作为形状对象处理:

例如:

esheet.Shapes.Item("Chart 1").Top = 100;
esheet.Shapes.Item("Chart 1").Left = 250;


// or you can handle shape by index - indexes start from 1 so esheet.Shapes.Item(1).Top

我认为,您想将位置设置在相关单元格的右侧,例如:

esheet.Shapes.Item("Chart 1").Top = (float)(double)esheet.get_Range("A5","A6").Top;

所以...我希望这会有所帮助:)

卢布斯

【讨论】:

    【解决方案2】:

    添加图表时您可以使用此代码来处理它的左、上、宽、高。 use this link

    var chartObject = charts.Add(260, 30, 300, 300);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-08
      • 2014-07-23
      • 1970-01-01
      相关资源
      最近更新 更多