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

How to create a line of X length with AddLine

我一直在尝试使用互操作的 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 分。

我的问题是:我怎样才能使我的线与我想要的一样长(并且在适当的位置)? Related/including: c#中的度量单位是点,这与工作表中显示的点是否匹配?

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