Excel 中行、列本質上是 Range,通過 Worksheet.Rows/Columns 集合的 Item 索引器獲取。
Excel.Application app = new Excel.Application();
Excel._Workbook wb = app.Workbooks.Open(@"z:\Book1.xls", Missing.Value, ...);
app.DisplayAlerts = false;
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
Excel.Range row18 = (Excel.Range)ws.Rows[18, Missing.Value];
Excel.Range row19 = (Excel.Range)ws.Rows[19, Missing.Value];
row18.Value = "123";
row18.Copy(row19); // 複製整行
row19.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); // 在第 19 行插入空行,原行下移
wb.SaveAs(@"z:\Book2.xls", ...);
Rows[index] 返回整行 Range,支持 Copy/Insert/Delete。Insert(ShiftDirection):xlShiftDown 下移行,xlShiftToRight 右移列。Columns[index] 操作整列。同前文:Marshal.ReleaseComObject + GC.Collect 確保 Excel 進程退出。