2016-12-27 37 views
0

我的Excel工作簿中有2個Excel表格(Sheet1 & Sheet2)。我想將Sheet2的行數據複製到Sheet1如果在excel表格中不存在粘貼行,使用c#

條件是:

如果Sheet2複製的行不存在Sheet1再貼上它,否則請不要粘貼一行。除了第一行

複製的行中Sheet2

Range dataWithoutFirstRow = xlAccrualSheet.Range[xlAccrualSheet.UsedRange.Cells[2, 1], 
          xlAccrualSheet.UsedRange.SpecialCells(XlCellType.xlCellTypeLastCell)]; 
dataWithoutFirstRow.Copy(); 

粘貼在下面使用範圍在Sheet1:

Range DataRange = xlAccrualWorkSheet.Cells[emptycell, 1]; 
DataRange.PasteSpecial(XlPasteType.xlPasteAllUsingSourceTheme); 

請告訴我如何檢查在Sheet1中已存在的行。

等待您迴應

回答

0

請告訴我如何檢查在Sheet1中已存在的行。

使用Range來讀取工作表中的所有數據。你已經在做一個類似的東西accrualSheet。然後,您可以使用range.Cells(i,j)range.Rows(r).Value或甚至range.Rows(r).Cells(i,j)來獲取每個特定行內的數據。

當粘貼發生時,遍歷所有粘貼的行,併爲每個粘貼的行與workSheet中的行進行比較。您可以直接閱讀(如上所述),也可以從workSheet中讀取所有行並將它們存儲在List中,並將傳入的行與列表進行比較 - 這樣可以更快地工作。

現在,最有趣的事情之一可能是什麼意思「比較行」。要麼你需要將一行中的所有單元格與另一個單元格進行比較,要麼只需比較「日期,時間,原因,起源,caseId」等特定的「列」集合等。但是,沒有人知道,你對此一無所知。如果沒有這方面的信息,那麼你可能應該比較整行,並假定任何單元格的差異意味着行是不同的。

相關問題