繁体   English   中英

使用ExcelDNA或NetOffice插入Excel行/列

[英]Insert Excel Rows/Columns with ExcelDNA or NetOffice

我正在使用ExcelDNA设置和获取单元格值。 我可以获取并设置单元格值

var ref = ExcelReference(2, 2);
var val = ref.GetValue();
ref.SetValue(42);

有没有一种方法可以通过将条目向右或向下移动来插入整个行或列? 我想要与用户右键单击该列并将所有条目都移到右侧时相同的行为。 解决方案可以根据需要使用NetOffice。

我建议为此使用COM对象模型,并且同一任务的代码将类似于VBA。

您可以通过调用ExcelDnaUtil.ApplicationExcelDnaUtil.ApplicationApplication对象。 生成的对象将是Microsoft.Office.Interop.Excel.Application类型,可用于选择列的行,然后调用app.Selection.Insert()以插入新的行或列。

使用C API也应该有可能,但这不太可能变得更容易或更快速。

我想补充一点,NetOffice不支持Range对象的EntireRowEntireColumn方法,这对于插入或删除完整行很有用。 作为一种解决方法,可以通过用Range(rowNoStart + ":" + rowNoEnd)寻址完整的行来代替行。

对于列,可以编写Range(GetExcelColumnName(colStart) + ":" + GetExcelColumnName(colEnd)) ,其中GetExcelColumnName一篇SO文章中的函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM