我想比较两个输入的csv文件以查看是否有添加或删除的行。什么是最好的方式去做这件事。我没有使用列名,因为列的名称对于所有文件都不一致。比较两个excel文件的差异
private void compare_btn_Click(object sender, EventArgs e)
{
string firstFile = firstExcel_txt.Text;
var results = ReadExcel(openFileDialog1);
string secondFile = secondExcel_txt.Text;
var results2 = ReadExcel(openFileDialog2);
}
阅读:
public object ReadExcel(OpenFileDialog openFileDialog)
{
var _excelFile = new ExcelQueryFactory(openFileDialog.FileName);
var _info = from c in _excelFile.WorksheetNoHeader() select c;
string header1, header2, header3;
foreach (var item in _info)
{
header1 = item.ElementAt(0);
header2 = item.ElementAt(1);
header3 = item.ElementAt(2);
}
return _info;
}
我如何能做到这一点任何帮助将是巨大的。
最好也是最准确的方法是将它们都转换为字节数组,并在转换它们时进行比较。以下链接将帮助您将Excel表转换为字节数组:http://www.c-sharpcorner.com/UploadFile/1a81c5/convert-file-to-byte-array-and-byte-array-to-files/ – Max
Masriyah你只有3列,或者你只是简化了你的代码?我没有看到你在哪里保持Excel文件的内容来执行比较 –
或者你可以放弃列和哈希其余的。如果这两个文件的哈希匹配,那么他们具有相同的数据,逐字。取决于所使用的算法,哈希碰撞的可能性很小,但它很小,在碰撞之前地狱会冻结。 – Renan