在我的项目中,我使用.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单元格中获取左侧和顶部值,但我找不到这样做的方法。有没有人知道从单元格动态获取这两个值的方法?
答案 0 :(得分:0)
因为我没有找到这个问题的答案。我现在以另一种方式做到了。
我创建了一个包含vba代码的模板xls文件。此代码在工作表开始时创建组合框和复选框。
由于这种新方式,不再需要Excel Interop。 NPOI现在从模板创建Excel工作表。