获取Excel单元格的左侧和顶部值

时间:2014-04-14 12:15:56

标签: c# excel-interop npoi

在我的项目中,我使用.NET库npoi来创建一些Excel文档。如果 安装了MS Office,将添加复选框和带有MS interop Excel DLL的组合框。因为将使用不同的列权重创建不同的Excel工作表,所以下面代码中的左侧和顶部值应该是动态的:

//Top value of the first checkbox
double top = 68;

for (int i = 6; i <= rowcount; i++)
{
    Microsoft.Office.Interop.Excel.OLEObject obj2 = objs.Add("Forms.CheckBox.1",
    System.Reflection.Missing.Value,
    System.Reflection.Missing.Value,
    false,
    false,
    System.Reflection.Missing.Value,
    System.Reflection.Missing.Value,
    1055, //static left value
    top,  //static top value
    10,
    10);

    top += 15.43;
    top -= 1.0295;
}

Microsoft.Office.Interop.Excel.OLEObject combobox = objs.Add("Forms.ComboBox.1",
    System.Reflection.Missing.Value,
    System.Reflection.Missing.Value,
    false,
    false,
    System.Reflection.Missing.Value,
    System.Reflection.Missing.Value,
    1080, //static left value
    27,   //static top value
    50,
    15);

我试图从excel单元格中获取左侧和顶部值,但我找不到这样做的方法。有没有人知道从单元格动态获取这两个值的方法?

1 个答案:

答案 0 :(得分:0)

因为我没有找到这个问题的答案。我现在以另一种方式做到了。

我创建了一个包含vba代码的模板xls文件。此代码在工作表开始时创建组合框和复选框。

由于这种新方式,不再需要Excel Interop。 NPOI现在从模板创建Excel工作表。