مرجع تخصصی زبان Csharp
جستجو

بانک اطلاعات Sqlite در سی شارپ - بخش ششم

پست ششم (قسمت آخر): خروجی گرفتن از اطلاعات به صورت CSV

در این پست قصد داریم تا آموزش نحوه خروجی گرفتن از اطلاعات  را ارئه دهیم.


فرض کنید می‌خوایم از اطلاعات دفترچه تلفنمون یه بک‌آپ بگیریم یا ببریمش تو نرم‌افزار اکسل. بهترین، سبک‌ترین و استانداردترین راه برای این کار، فرمت CSV هست.
 
CSV یعنی چی؟ یعنی مقادیر با کاما (,) از هم جدا بشن. هر خط هم میشه یه رکورد.
 
ما می‌ریم داده‌ها رو از دیتابیس می‌خونیم و خط به خط تو یه فایل متنی می‌نویسیم.

public void ExportToCsv(string filePath)
{
    string connectionString = "Data Source=PhoneBook.db";
    
    using var connection = new SqliteConnection(connectionString);
    connection.Open();

    string selectQuery = "SELECT FirstName, LastName, PhoneNumber FROM Contacts";
    using var command = new SqliteCommand(selectQuery, connection);
    using var reader = command.ExecuteReader();

    // استفاده از StreamWriter برای نوشتن تو فایل
    using (StreamWriter writer = new StreamWriter(filePath, false, System.Text.Encoding.UTF8))
    {
        // اول یه هدر (سرستون) می‌نویسیم
        writer.WriteLine("نام,نام خانوادگی,شماره تماس");

        // حالا رکوردها رو می‌نویسیم
        while (reader.Read())
        {
            string fName = reader.GetString(0);
            string lName = reader.GetString(1);
            string phone = reader.GetString(2);

            // جدا کردن مقادیر با کاما
            string line = $"{fName},{lName},{phone}";
            writer.WriteLine(line);
        }
    }
    
    Console.WriteLine($"فایل CSV با موفقیت تو مسیر {filePath} ذخیره شد.");
}

برای استفاده از این تابع کافیه آدرس فایل رو بدید، مثلاً:
ExportToCsv("C:\\MyContacts.csv");
 
بعدش می‌تونید فایل رو باز کنید و ببینید که چقدر تمیز و مرتب تو اکسل یا هر ادیتور متنی دیگه‌ای نشون داده میشه.
 
💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران