مقایسه فایل های CSV با استفاده از C#.NET

ما اخیراً [روش اصلی مقایسه دو فایل CSV12 را در برنامه‌های NET خود مورد بحث قرار دادیم. امروز، در این مقاله، مقایسه بیش از دو CSV با استفاده از C# را بیشتر خواهیم آموخت. علاوه بر این، نحوه مقایسه فایل های CSV محافظت شده با رمز عبور را مورد بحث قرار خواهیم داد. آخرین اما نه کم اهمیت، نحوه پذیرش و رد تغییرات یافت شده با استفاده از C# در برنامه NET.

موضوعات زیر در زیر پوشش داده شده است:

NET API برای مقایسه فایل‌های CSV

GroupDocs.Comparison .NET API خود را دارد که امکان مقایسه فایل‌های CSV را به روش‌های مختلف فراهم می‌کند. ما از آن برای مقایسه فایل های CSV در برنامه .NET استفاده خواهیم کرد. همچنین از مقایسه بیش از دو فایل CSV، فایل های محافظت شده با رمز عبور، پذیرش و رد تغییرات کشف شده پشتیبانی می کند.

می توانید نصب کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا با افزودن بسته آن به برنامه .NET خود از طریق NuGet API را نصب کنید.

PM> Install-Package GroupDocs.Comparison

نمونه‌های در حال اجرا برای ویژگی‌های آن نیز در GitHub موجود است. برای راهنمایی به اسناد و مرجع API آن مراجعه کنید.

مقایسه فایل های CSV با استفاده از C#

قبلاً در مورد مقایسه اساسی دو فایل CSV بحث کرده ایم. در آنجا، کد منبع C# مقایسه فایل‌ها، نمونه فایل‌های ورودی برای مقایسه و فایل خروجی مقایسه را بررسی کردیم. برای مقایسه اولیه می توانید به آن مقاله مراجعه کنید.

مقایسه بیش از دو فایل CSV با استفاده از C#

اگر بیش از دو فایل CSV برای مقایسه دارید، جای نگرانی نیست. این کار به سادگی مقایسه دو فایل است. فقط باید فایل سوم را به Comparer اضافه کنید.

در زیر مراحل مقایسه بیش از دو فایل CSV با استفاده از C# آمده است.

  • کلاس Comparer را با اولین فایل CSV برای مقایسه، نمونه سازی کنید.
  • فایل CSV دوم را با استفاده از روش Add مناسب اضافه کنید.
  • به همین ترتیب، با استفاده از روش افزودن، تعداد زیادی فایل CSV دیگر اضافه کنید.
  • در نهایت، روش مقایسه را فراخوانی کنید تا نتایج مقایسه همه فایل‌های CSV اضافه شده را دریافت کنید.

کد منبع C# زیر چندین فایل CSV را مقایسه می کند و نتایج مقایسه را در فایل های CSV و HTML جداگانه تولید می کند. فایل خروجی HTML تغییرات را در رنگ های مختلف برجسته می کند.

// مقایسه چندین (بیش از 2) فایل CSV با استفاده از 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 دوم را با استفاده از روش Add مناسب اضافه کنید.
  • به طور مشابه، با استفاده از هر یک از روش‌های افزودن، به تعداد فایل‌های 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#

درست مانند ویژگی مایکروسافت ورد، می‌توانید گزینه تغییرات آهنگ را برای فایل‌های CSV در برنامه‌های NET خود پیاده‌سازی کنید. پس از مقایسه فایل، می توانید هر یک از تغییرات شناسایی شده را بپذیرید یا رد کنید. مراحل زیر برای مقایسه فایل‌های CSV و سپس پذیرش یا رد تغییرات شناسایی شده است.

  • منبع را بارگیری کنید و فایل های CSV مورد نظر را با استفاده از کلاس Comparer اضافه کنید.
  • مقایسه فایل های بارگذاری شده را با استفاده از روش Compare انجام دهید.
  • تغییرات شناسایی شده را با استفاده از روش GetChanges واکشی کنید.
  • اکنون می توانید تغییرات را طی کنید و ComparisonAction هر تغییر را تنظیم کنید.
    • برای تغییرات توافق شده می توانید آنها را به عنوان Accept تنظیم کنید.
    • برای تغییرات مخالف می توانید آنها را به عنوان Reject تنظیم کنید.
  • در نهایت، متد 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 را به‌صورت برنامه‌نویسی بپذیریم و رد کنیم.

سفارشی‌سازی‌های زیادی برای کنترل نتایج مقایسه وجود دارد، مانند تنظیم حساسیت مقایسه، نمایش فقط صفحه خلاصه، نادیده گرفتن شکاف‌ها و موارد دیگر. در مورد این ویژگی ها از [اسناد] اطلاعات کسب کنید.

می توانید شروع به ساخت برنامه های مقایسه ای خود برای [فرمت های سند پشتیبانی شده] مختلف کنید. برای سؤالات، از طریق [فروم 8 با ما تماس بگیرید.

همچنین ببینید