Один вариант будет использовать библиотеку с открытым исходным кодом, называемую EPPlus
. Вы можете загрузить и отправить его в свое автоматизированное тестовое приложение. EPPlus дает вам несколько способов прочитать файл Excel и сравнить его. Одним из таких вариантов является C# Datatable. Вот пример кода ..
public static DataTable GetDataTableFromExcel(string path, bool hasHeader = true)
{
using (var pck = new OfficeOpenXml.ExcelPackage())
{
using (var stream = File.OpenRead(path))
{
pck.Load(stream);
}
var ws = pck.Workbook.Worksheets.First();
DataTable tbl = new DataTable();
foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column])
{
tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
}
var startRow = hasHeader ? 2 : 1;
for (int rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++)
{
var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
DataRow row = tbl.Rows.Add();
foreach (var cell in wsRow)
{
row[cell.Start.Column - 1] = cell.Text;
}
}
return tbl;
}
}
Для обоих файлов Excel, тот же процесс может быть принят, и это даст вам желаемых результатов.
Вы должны будете использовать Office, Interop, чтобы открыть обе таблицы, и сделать петлю через строк и столбцов, сравнивающих значение каждой ячейки. Вы можете больше узнать о Office Interop здесь http://stackoverflow.com/questions/16213255/how-to-read-cell-values-from-existing-excel-file – Mangist