如何比较两个Excel表,并在C#中创build一个新的?

我有两个excel文件。
sheet1有5个值的列。
sheet2只有一列。
sheet1和sheet的第一列有一些唯一的值。 我需要另一个excelsheet ,其中新的有5列(匹配sheet1和sheet2中的唯一值)如何使用C#做到这一点?
任何帮助,将不胜感激。

您可以通过使用Interop.Excel( Interop C#教程 )或Interop(fe ClosedXML )的一些替代方法来完成此操作。 阅读文件并使用LINQ获取所需的数据。 使用IEnumerable。除了可以将sheet1中不在sheet2中的元素放入新工作表并将其保存到Excel文件中。

 var workbook1 = new XLWorkbook(@"workbook1.xlsx"); var workbook2 = new XLWorkbook(@"workbook2.xlsx"); var worksheet1 = workbook.Worksheet("sheet1"); var worksheet2 = workbook.Worksheet("sheet2"); var listSheet1 = new List<IXLRow>(); // list of Rows var listSheet2 = new List<IXLRow>(); // puts all UsedRows (including "headers") from sheet1 into a list of rows using (var rows = worksheet1.RowsUsed()) { foreach (var row in rows) { listSheet1.Add(row); } } using(var rows = worksheet2.RowsUsed()) { foreach (var row in rows) { listSheet2.Add(row); } } IEqualityComparer comparer = new XLRowComparer(); // you have to implement your own comparer here. there's a lot of tutorials/samples out there var uniqueIdList = listSheet1.Intersect(listSheet2, comparer).ToList(); // in this case I'd use intersect instead of except which returns the IDs provided in sheet1 and sheet2 // and now you just have to put the rows from uniqueIdList into a new worksheet and save it 

我希望这可以帮到你…