如何使用AddLine创建X长度的线

时间:2019-01-24 09:04:36

标签: c# excel interop

我一直在尝试使用互操作AddLine method在excel中创建一行。但是,我无法成功配置线路。这条线大概在我想要的位置,但是设定长度对我来说是个谜。按照我的代码:

        Shape line = worksheet.Shapes.AddLine(50, 100, 500, 100);  //length = 450 points
        Range startcell = worksheet.Cells[3, 7];
        line.Left = (float)startcell.Left;
        line.Top = (float)startcell.Top;

我的工作表上有一行,但是使用单元格的数量及其宽度(以点或像素为单位)来计算长度与编码长度不匹配。实际长度为736至759像素或51,2至52,8点。

编辑: 我通过another answer发现,积分单位有2个测量值。我得到以下信息:

ColumnWidth = 1,6           column is 1,6 characters wide 
Width = 13,8                column is 13,8 points wide 
Height = 13,8

这给了我524,4到538,2点之间的实际线长。这仍然与我编码的450点不匹配。

我的问题是:我怎样才能使我的生产线长度和位置完全一样? 相关/包括:c#中的度量单位为点,这是否与工作表中显示的点匹配?

1 个答案:

答案 0 :(得分:0)

我的编辑实际上就是答案。我忘了减去前面单元格的81.6点(6 * 13,8 = 81,6)。 这意味着AddLine()中使用的点单位与Cell.Width和Cell.Height属性单位相同,在Excel GUI中未显示。