2016-12-27 64 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”等特定的“列”集合等。但是,没有人知道,你对此一无所知。如果没有这方面的信息,那么你可能应该比较整行,并假定任何单元格的差异意味着行是不同的。

相关问题