השווה קבצי CSV באמצעות C# .NET

דיברנו לאחרונה על הדרך הבסיסית להשוות בין שני קבצי CSV בתוך יישומי ה-.NET שלנו. היום, במאמר זה, נלמד עוד להשוות בין יותר משני CSV באמצעות C#. בנוסף, נדון כיצד להשוות בין קבצי ה-CSV המוגנים באמצעות סיסמה. אחרון חביב, כיצד לקבל ולדחות את השינויים שנמצאו באמצעות C# בתוך יישום NET.

הנושאים הבאים מכוסים להלן:

NET API להשוואת קבצי CSV

ל- GroupDocs.Comparison יש את .NET API המאפשר השוואה בין קבצי CSV בדרכים שונות. נשתמש בו כדי להשוות קבצי CSV בתוך יישום NET. זה תומך עוד בהשוואה של יותר משני קובצי CSV, קבצים מוגנים בסיסמה, קבלה ודחייה של השינויים שהתגלו.

אתה יכול להוריד את קובצי ה-DLL או ה-MSI מתקין מסעיף ההורדות או להתקין את ה-API על ידי הוספת החבילה שלו לאפליקציית NET שלך דרך NuGet.

PM> Install-Package GroupDocs.Comparison

דוגמאות הפעלה לתכונות שלה זמינות גם ב-GitHub. בקר בתיעוד ו-API Reference שלו לקבלת הדרכה.

השווה קבצי CSV באמצעות C#

כבר דיברנו על ההשוואה הבסיסית של שני קובצי CSV קודם לכן. שם, בדקנו את קוד המקור של השוואת הקבצים C#, קבצי קלט לדוגמה להשוואה וקובץ הפלט של ההשוואה. אתה יכול לבקר במאמר זה להשוואה בסיסית.

השווה יותר משני קבצי CSV באמצעות C#

אם יש לך יותר משני קובצי CSV להשוות, אין לך מה לדאוג. זה פשוט כמו השוואה בין שני קבצים. אתה רק צריך להוסיף את הקובץ השלישי ל-Comparer.

להלן השלבים להשוואה של יותר משני קבצי CSV באמצעות C#.

  • הצג את המחלקה Comparer עם קובץ ה-CSV הראשון להשוואה.
  • הוסף את קובץ ה-CSV השני באמצעות שיטת ההוספה המתאימה.
  • באופן דומה, הוסף כמה שיותר קבצי CSV אחרים באמצעות שיטת הוספה.
  • לבסוף, הפעל את שיטת ההשוואה כדי לקבל את תוצאות ההשוואה של כל קבצי ה-CSV שנוספו.

קוד המקור של C# הבא משווה קבצי CSV מרובים ויוצר את תוצאות ההשוואה בקבצי CSV ו-HTML נפרדים. קובץ הפלט של HTML מדגיש את השינויים בצבעים שונים.

// השווה קבצי CSV מרובים (יותר מ-2) באמצעות C#

using (Comparer comparer = new Comparer("path/comma-separated-file-1.csv"))
{
    // הוספת קובצי CSV מרובים להשוואה
    comparer.Add("path/comma-separated-file-2.csv");
    comparer.Add("path/comma-separated-file-3.csv");
    // ...
    // ...
    comparer.Compare("path/comparison-result.csv");
}

השווה קבצי CSV מוגנים באמצעות סיסמה באמצעות C#

אם קבצי ה-CSV שלך מוגנים בסיסמה, אתה רק צריך לספק את הסיסמה בזמן טעינת הקבצים האלה. אין הבדל בשאר ההליך להשוואת קובצי CSV מרובים המוגנים בסיסמה.

להלן השלבים להשוואת קבצי CSV מוגנים באמצעות סיסמה באמצעות C#.

  • הכן את אפשרויות הטעינה באמצעות המחלקה LoadOptions ועל ידי הגדרת הסיסמה לפתיחת קובץ ה-CSV.
  • טען את קובץ ה-CSV הראשון להשוואה תוך כדי מופע של המחלקה Comparer.
  • הוסף את קובץ ה-CSV השני באמצעות שיטת ההוספה המתאימה.
  • באופן דומה, הוסף כמה שיותר קובצי CSV אחרים באמצעות כל אחת משיטות ההוספה.
  • לבסוף, קרא לשיטת Compare כדי לקבל את ההשוואה של כל קבצי ה-CSV שנוספו.

קוד המקור של C# הבא משווה מספר קובצי CSV מוגני סיסמה ויוצר את תוצאות ההשוואה בקובצי CSV ו-HTML נפרדים.

// השווה קבצי CSV (ערכים מופרדים בפסיקים) מוגנים באמצעות סיסמה באמצעות 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");
}

קבל או דחה שינויים מזוהים של קבצי CSV באמצעות C#

בדיוק כמו התכונה של Microsoft Word, אתה יכול ליישם את אפשרות השינויים במסלול עבור קבצי ה-CSV בתוך יישומי ה-.NET שלך. לאחר השוואת הקבצים, תוכל לקבל או לדחות כל אחד מהשינויים שזוהו. להלן השלבים להשוואת קובצי CSV ולאחר מכן לקבל או לדחות את השינויים שזוהו.

  • טען את המקור והוסף קובצי CSV יעד באמצעות המחלקה Comparer.
  • בצע את ההשוואה בין הקבצים הטעונים בשיטת Compare.
  • אחזר את השינויים שזוהו באמצעות שיטת GetChanges.
  • כעת אתה יכול לעבור את השינויים ולהגדיר את פעולת ההשוואה של כל שינוי.
    • עבור השינויים המוסכמים תוכל להגדיר אותם כקבל.
    • עבור השינויים שלא הסכימו אתה יכול להגדיר אותם כדחייה.
  • לבסוף, קרא לשיטת ApplyChanges כדי לקבל את המסמך שנוצר עם השינויים שהוחלו.

קוד המקור של C# הבא משווה שני קבצי CSV ולאחר מכן מקבל ודוחה את השינויים בהתאם.

/*
 * קבל או דחה שינויים שזוהו על ידי השוואת קובצי CSV באמצעות 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();
    
    // דחיית השינוי הראשון וקבלת השינוי המזוהה השני.
    changes[0].ComparisonAction = ComparisonAction.Reject;
    changes[1].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/track-changes-result.csv", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });
}

קבל רישיון API בחינם

אתה יכול לקבל [רישיון זמני] בחינם7 כדי להשתמש ב-API ללא מגבלות ההערכה.

סיכום

לסיכום, היום למדנו כיצד להשוות בין שני קבצי CSV או יותר באמצעות C#. יחד עם ההשוואה של קובצי CSV מוגני סיסמה, למדנו לקבל באופן תכנותי ולדחות את השינויים שזוהו בתוך יישומי NET.

ישנן התאמות אישיות רבות אחרות לשליטה בתוצאות ההשוואה, כמו הגדרת רגישות ההשוואה, הצגת דף הסיכום בלבד, התעלמות מפערים ועוד ועוד. למד על תכונות אלה מהתיעוד.

אתה יכול להתחיל לבנות יישומי השוואה משלך עבור פורמטים נתמכים של מסמכים שונים. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם