我想比較兩個輸入的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