显示文件比较中添加或删除项目的记录

时间:2013-08-27 14:52:32

标签: c#

我正在比较两个csv文件,并区分是否已添加或删除记录。我能够知道是否添加或删除了项目,但我想知道插入或删除的记录是什么。我有一个不同但相关的帖子,毛里西奥格拉西亚帮了很多Comparing two excel files for differences

 if (fileB.excelRows.Count() < fileA.excelRows.Count())
                    {
                        string result = "";
                        foreach (ExcelRow rowA in fileA.excelRows)
                        {

                            if (!fileB.ContainsHash(rowA.rowHash))
                            {
                                result =  rowA.ToString();
                            }

                        }
                        MessageBox.Show("Files are NOT the same. Data was REMOVED.\n" + result);
                    }
                    else
                    {
                        var addedItems = fileB.excelRows.Except(fileA.excelRows);
                        MessageBox.Show("Files are NOT the same. Data was ADDED.\n"+ addedItems.ToString());

                    }
                }

现在写下我得到的消息是ExcelFileReader.ExcelRow,但我没有看到删除的实际记录。

我尝试使用Except运算符,但我得到了相同的字符串消息。

1 个答案:

答案 0 :(得分:1)

你不能只是ToString()excel行。它是一个对象,您需要遍历对象属性并将所需的项转换为字符串表示形式。像下面的东西。

    foreach (ExcelCell cell in excelRow.AllocatedCells)
    {
        if (cell.Value != null)
            Console.Write("{0}({1})", cell.Value, cell.Value.GetType().Name);

        Console.Write("\t");
    }