قارن ملفات CSV باستخدام C # .NET

لقد ناقشنا مؤخرًا الطريقة الأساسية لكيفية مقارنة ملفي CSV داخل تطبيقات .NET الخاصة بنا. اليوم ، في هذه المقالة ، سنتعلم أيضًا مقارنة أكثر من ملفي CSV باستخدام C #. بالإضافة إلى ذلك ، سنناقش كيفية مقارنة ملفات CSV المحمية بكلمة مرور. أخيرًا وليس آخرًا ، كيفية قبول التغييرات التي تم العثور عليها ورفضها باستخدام C # داخل تطبيق .NET.

يتم تناول الموضوعات التالية أدناه:

NET API لمقارنة ملفات CSV

GroupDocs.Comparison لها .NET API الذي يسمح بمقارنة ملفات CSV بطرق مختلفة. سنستخدمه لمقارنة ملفات CSV داخل تطبيق .NET. كما يدعم المقارنة بين أكثر من ملفي CSV ، الملفات المحمية بكلمة مرور ، وقبول التغييرات المكتشفة ورفضها.

يمكنك تنزيل DLLs أو MSI installer من قسم التنزيلات أو تثبيت API عن طريق إضافة الحزمة الخاصة بها إلى تطبيق .NET عبر NuGet.

PM> Install-Package GroupDocs.Comparison

أمثلة تشغيل لميزاته متاحة أيضًا في GitHub. تفضل بزيارة الوثائق و مرجع API للحصول على إرشادات.

قارن ملفات CSV باستخدام C

لقد ناقشنا بالفعل المقارنة الأساسية لملفي CSV سابقًا. هناك ، نظرنا في الكود المصدري لمقارنة الملفات C # ، وعينات من ملفات الإدخال للمقارنة ، وملف إخراج المقارنة. يمكنك زيارة هذه المقالة للمقارنة الأساسية.

قارن بين أكثر من ملفين CSV باستخدام C

إذا كان لديك أكثر من ملفي CSV للمقارنة ، فلا داعي للقلق. الأمر بسيط مثل مقارنة ملفين. تحتاج فقط إلى إضافة الملف الثالث إلى المقارنة.

فيما يلي خطوات مقارنة أكثر من ملفي CSV باستخدام C #.

  • إنشاء فئة المقارنة بأول ملف 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 للمقارنة أثناء إنشاء فئة المقارنة.
  • أضف ملف CSV الثاني باستخدام طريقة الإضافة المناسبة.
  • وبالمثل ، أضف العديد من ملفات CSV الأخرى باستخدام أي من طرق الإضافة.
  • أخيرًا ، اتصل بطريقة المقارنة للحصول على مقارنة بين جميع ملفات 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 المستهدفة باستخدام فئة المقارنة.
  • قم بإجراء مقارنة بين الملفات المحملة باستخدام طريقة المقارنة.
  • قم بإحضار التغييرات المحددة باستخدام طريقة 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 مجاني

يمكنك الحصول على ترخيص مؤقت مجاني من أجل استخدام API بدون قيود التقييم.

استنتاج

باختصار ، تعلمنا اليوم كيفية مقارنة ملفين أو أكثر من ملفات CSV باستخدام C #. إلى جانب المقارنة بين ملفات CSV المحمية بكلمة مرور ، تعلمنا قبول التغييرات المحددة داخل تطبيقات .NET برمجيًا ورفضها.

هناك العديد من التخصيصات الأخرى للتحكم في نتائج المقارنة ، مثل ضبط حساسية المقارنة ، وإظهار صفحة الملخص فقط ، وتجاهل الفجوات ، وغير ذلك الكثير. تعرف على هذه الميزات من التوثيق.

يمكنك البدء في بناء تطبيقات المقارنة الخاصة بك للعديد من تنسيقات المستندات المدعومة. للاستفسارات ، اتصل بنا عبر المنتدى.

أنظر أيضا