Porovnejte soubory CSV pomocí C# .NET

Nedávno jsme diskutovali základní způsob, jak porovnat dva CSV soubory v rámci našich .NET aplikací. Dnes se v tomto článku dále naučíme porovnat více než dva CSV pomocí C#. Kromě toho probereme, jak porovnat soubory CSV chráněné heslem. V neposlední řadě, jak přijmout a odmítnout nalezené změny pomocí C# v rámci .NET aplikace.

Níže jsou uvedena následující témata:

.NET API pro porovnávání souborů CSV

GroupDocs.Comparison má své .NET API, které umožňuje porovnávat soubory CSV různými způsoby. Použijeme jej k porovnání CSV souborů v rámci aplikace .NET. Dále podporuje porovnávání více než dvou souborů CSV, souborů chráněných heslem, přijímání a odmítání zjištěných změn.

Můžete si stáhnout DLL nebo MSI instalační program z části ke stažení nebo nainstalovat API přidáním jeho balíčku do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Comparison

Spouštěcí příklady jeho funkcí jsou také k dispozici na GitHub. Pokyny naleznete v dokumentaci a odkaz na rozhraní API.

Porovnejte soubory CSV pomocí C#

Základní srovnání dvou CSV souborů jsme již probrali dříve. Tam jsme se podívali na zdrojový kód C# pro porovnání souborů, ukázkové vstupní soubory pro srovnání a výstupní soubor porovnání. Základní srovnání najdete v tomto článku.

Porovnejte více než dva soubory CSV pomocí C#

Pokud máte k porovnání více než dva soubory CSV, nemusíte se ničeho obávat. Je to stejně jednoduché jako porovnání dvou souborů. Stačí přidat třetí soubor do porovnávače.

Níže jsou uvedeny kroky k porovnání více než dvou souborů CSV pomocí jazyka C#.

  • Vytvořte instanci třídy Comparer s prvním souborem CSV, který chcete porovnat.
  • Přidejte druhý soubor CSV pomocí příslušné metody Add.
  • Podobně přidejte co nejvíce dalších souborů CSV pomocí metody Add.
  • Nakonec vyvolejte metodu Compare a získejte výsledky porovnání všech přidaných souborů CSV.

Následující zdrojový kód C# porovnává více souborů CSV a generuje výsledky porovnání v samostatných souborech CSV a HTML. Výstupní soubor HTML zvýrazní změny v různých barvách.

// Porovnat více (více než 2) souborů CSV pomocí C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    // Přidání více souborů CSV pro porovnání
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Add("path/comma-separated-file-3.csv");
    // ...
    // ...
    comparer.Compare("path/comparison-result.csv");
}

Porovnejte soubory CSV chráněné heslem pomocí C#

Pokud jsou vaše soubory CSV chráněny heslem, stačí při načítání těchto souborů zadat heslo. Ve zbytku postupu pro porovnávání více souborů CSV chráněných heslem není žádný rozdíl.

Níže jsou uvedeny kroky k porovnání souborů CSV chráněných heslem pomocí jazyka C#.

  • Připravte možnosti načítání pomocí třídy LoadOptions a nastavením hesla pro otevření souboru CSV.
  • Načtěte první soubor CSV k porovnání a vytvořte instanci třídy Comparer.
  • Přidejte druhý soubor CSV pomocí příslušné metody Add.
  • Podobně přidejte co nejvíce dalších souborů CSV pomocí kterékoli z metod Přidat.
  • Nakonec zavolejte metodu Compare, abyste získali porovnání všech přidaných souborů CSV.

Následující zdrojový kód C# porovnává několik souborů CSV chráněných heslem a generuje výsledky porovnání v samostatných souborech CSV a HTML.

// Porovnání souborů CSV chráněných heslem (hodnoty oddělené čárkami) pomocí jazyka C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv", new LoadOptions(){ Password = "file1-password" }))
{
    comparer.Add("path/comma-separated-file-2.csv", new LoadOptions(){ Password = "file2-password" });
    comparer.Compare("path/comparison-result.csv");
}

Přijmout nebo odmítnout identifikované změny souborů CSV pomocí C#

Stejně jako funkce aplikace Microsoft Word můžete implementovat možnost sledování změn pro soubory CSV ve svých aplikacích .NET. Po porovnání souborů můžete přijmout nebo odmítnout každou z identifikovaných změn. Níže jsou uvedeny kroky k porovnání souborů CSV a následnému přijetí nebo odmítnutí identifikovaných změn.

  • Načtěte zdrojové soubory a přidejte cílové soubory CSV pomocí třídy Comparer.
  • Proveďte porovnání načtených souborů pomocí metody Compare.
  • Načtěte identifikované změny pomocí metody GetChanges.
  • Nyní můžete procházet změny a nastavit ComparisonAction pro každou změnu.
    • Pro dohodnuté změny je můžete nastavit jako Přijmout.
    • Nesouhlasné změny můžete nastavit jako Odmítnout.
  • Nakonec zavolejte metodu ApplyChanges, abyste získali výsledný dokument s aplikovanými změnami.

Následující zdrojový kód C# porovnává dva soubory CSV a poté odpovídajícím způsobem přijímá a odmítá změny.

/*
 * Přijměte nebo odmítněte identifikované změny porovnáním souborů CSV pomocí C#
 */
using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Odmítnutí první a přijetí druhé identifikované změny.
    changes[0].ComparisonAction = ComparisonAction.Reject;
    changes[1].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Závěr

Abych to shrnul, dnes jsme se naučili, jak porovnat dva nebo více souborů CSV pomocí C#. Spolu s porovnáváním CSV souborů chráněných heslem jsme se naučili programově přijímat a odmítat identifikované změny v rámci .NET aplikací.

Existuje mnoho dalších přizpůsobení pro ovládání výsledků porovnání, jako je nastavení citlivosti porovnání, zobrazení pouze stránky souhrnu, ignorování mezer a mnoho dalšího. Informace o těchto funkcích naleznete v dokumentaci.

Můžete začít vytvářet vlastní srovnávací aplikace pro různé podporované formáty dokumentů. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také