簡體   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