Confronta i file CSV usando C# .NET

Di recente abbiamo discusso il modo di base per confrontare due file CSV all’interno delle nostre applicazioni .NET. Oggi, in questo articolo, impareremo ulteriormente a confrontare più di due CSV usando C#. Inoltre, discuteremo come confrontare i file CSV protetti da password. Ultimo ma non meno importante, come accettare e rifiutare le modifiche trovate usando C# all’interno dell’applicazione .NET.

Di seguito vengono trattati i seguenti argomenti:

API .NET per il confronto di file CSV

GroupDocs.Comparison ha la sua .NET API che consente di confrontare i file CSV in vari modi. Lo useremo per confrontare i file CSV all’interno dell’applicazione .NET. Supporta inoltre il confronto di più di due file CSV, file protetti da password, accettando e rifiutando le modifiche rilevate.

Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API aggiungendo il relativo pacchetto all’applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Comparison

Esempi di esecuzione per le sue funzionalità sono disponibili anche su GitHub. Visita la sua documentazione e Riferimento API per indicazioni.

Confronta i file CSV usando C#

Abbiamo già discusso il confronto di base di due file CSV in precedenza. Lì, abbiamo esaminato il codice sorgente C# per il confronto dei file, i file di input di esempio per il confronto e il file di output del confronto. Puoi visitare quell’articolo per un confronto di base.

Confronta più di due file CSV usando C#

Se hai più di due file CSV da confrontare, niente di cui preoccuparti. È semplice come confrontare due file. Devi solo aggiungere il terzo file al Comparer.

Di seguito sono riportati i passaggi per confrontare più di due file CSV utilizzando C#.

  • Crea un’istanza della classe Comparer con il primo file CSV da confrontare.
  • Aggiungi il secondo file CSV utilizzando il metodo Aggiungi appropriato.
  • Allo stesso modo, aggiungi tanti altri file CSV usando il metodo Aggiungi.
  • Infine, richiama il metodo Compare per ottenere i risultati del confronto di tutti i file CSV aggiunti.

Il codice sorgente C# seguente confronta più file CSV e genera i risultati del confronto in file CSV e HTML separati. Il file di output HTML evidenzia le modifiche in diversi colori.

// Confronta più file CSV (più di 2) usando C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    // Aggiunta di più file CSV da confrontare
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Add("path/comma-separated-file-3.csv");
    // ...
    // ...
    comparer.Compare("path/comparison-result.csv");
}

Confronta i file CSV protetti da password usando C#

Se i tuoi file CSV sono protetti da password, devi solo fornire la password durante il caricamento di questi file. Non vi è alcuna differenza nel resto della procedura per confrontare più file CSV protetti da password.

Di seguito sono riportati i passaggi per confrontare i file CSV protetti da password utilizzando C#.

  • Preparare le opzioni di caricamento utilizzando la classe LoadOptions e impostando la password per aprire il file CSV.
  • Carica il primo file CSV da confrontare durante la creazione di un’istanza della classe Comparer.
  • Aggiungi il secondo file CSV utilizzando il metodo Aggiungi appropriato.
  • Allo stesso modo, aggiungi tanti altri file CSV usando uno qualsiasi dei metodi Aggiungi.
  • Infine, chiama il metodo Compare per ottenere il confronto di tutti i file CSV aggiunti.

Il codice sorgente C# seguente confronta più file CSV protetti da password e genera i risultati del confronto in file CSV e HTML separati.

// Confronta file CSV (Comma Separated Values) protetti da password utilizzando 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");
}

Accetta o rifiuta le modifiche identificate dei file CSV utilizzando C#

Proprio come la funzionalità di Microsoft Word, puoi implementare l’opzione delle modifiche alla traccia per i file CSV all’interno delle tue applicazioni .NET. Dopo il confronto dei file, puoi accettare o rifiutare ciascuna delle modifiche identificate. Di seguito sono riportati i passaggi per confrontare i file CSV e quindi accettare o rifiutare le modifiche identificate.

  • Carica l’origine e aggiungi i file CSV di destinazione utilizzando la classe Comparer.
  • Eseguire il confronto dei file caricati utilizzando il metodo Compare.
  • Recupera le modifiche identificate usando il metodo GetChanges.
  • Ora puoi attraversare le modifiche e impostare ComparisonAction di ciascuna modifica.
    • Per le modifiche concordate puoi impostarle come Accetta.
    • Per le modifiche in disaccordo puoi impostarle come Rifiuta.
  • Infine, chiama il metodo ApplyChanges per ottenere il documento risultante con le modifiche applicate.

Il codice sorgente C# seguente confronta due file CSV, quindi accetta e rifiuta le modifiche di conseguenza.

/*
 * Accetta o rifiuta le modifiche identificate confrontando i file CSV utilizzando 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();
    
    // Rifiutare la prima e accettare la seconda modifica individuata.
    changes[0].ComparisonAction = ComparisonAction.Reject;
    changes[1].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per riassumere, oggi abbiamo imparato a confrontare due o più file CSV utilizzando C#. Insieme al confronto dei file CSV protetti da password, abbiamo imparato ad accettare e rifiutare a livello di codice le modifiche identificate all’interno delle applicazioni .NET.

Esistono molte altre personalizzazioni per controllare i risultati del confronto, come impostare la sensibilità del confronto, mostrare solo la pagina di riepilogo, ignorare le lacune e molto altro. Scopri queste funzionalità dalla documentazione.

Puoi iniziare a creare le tue applicazioni di confronto per vari formati di documenti supportati. Per domande, contattaci tramite il forum.

Guarda anche