вставить строки, если еще не существует в excel листа с помощью c#

У меня есть 2 листа excel(Sheet1 & Sheet2) в моей книге Excel. Я хочу скопировать данные строки из Sheet2to Sheet1.

Условие:

если Sheet2скопированная строка не существует, Sheet1вставьте ее, иначе не вставляйте строку.

Скопированные строки, кроме 1-й строки в Sheet2:

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

Вставить в ниже используемого диапазона в Листе1:

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

Пожалуйста, скажите мне, как проверить уже существующие строки в Sheet1.

Ждем Вашего ответа

1 ответ

  1. Пожалуйста, скажите мне, как проверить уже существующие строки в Sheet1.

    Используется Rangeдля считывания всех данных с листа. Вы уже делаете похожую вещь accountalsheet. Затем можно использовать range.Cells(i,j)range.Rows(r).Valueили даже range.Rows(r).Cells(i,j)получить данные внутри каждой конкретной строки.

    При вставке выполните цикл по всем вставленным строкам и для каждой вставленной строки сравните ее со строками из листа. Вы можете сделать это непосредственно, прочитав это на лету (Как упоминалось выше), или вы можете прочитать все строки из рабочего листа и сохранить их в списке и сравнить входящие строки с этим списком — это будет работать гораздо быстрее.

    Теперь, одна из самых интересных вещей, вероятно, то, что это означает, чтобы «сравнить строки». Либо вам нужно будет сравнить все ячейки в строке с другой, или вам нужно будет сравнить только определенный набор «столбцов», как» дата, время, причина, происхождение, caseId » и т.д. Но это…. никто не знает, ты ничего не говорил об этом. Если нет никакой информации об этом, то вы, вероятно, должны сравнить целые строки и предположить, что любое различие в любой ячейке означает, что строки разные.