我一直在尝试使用互操作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#中的度量单位为点,这是否与工作表中显示的点匹配?
答案 0 :(得分:0)
我的编辑实际上就是答案。我忘了减去前面单元格的81.6点(6 * 13,8 = 81,6)。 这意味着AddLine()中使用的点单位与Cell.Width和Cell.Height属性单位相同,在Excel GUI中未显示。