C#:
การทำงานกับ CSV

วิธีการ:

การทำงานกับไฟล์ CSV ใน C# สามารถทำได้ผ่านเนมสเปซ System.IO สำหรับการดำเนินการพื้นฐาน และสำหรับการจัดการที่ซับซ้อนขึ้นหรือจัดการไฟล์ขนาดใหญ่ได้ราบรื่น อาจพิจารณาใช้ไลบรารีของฝ่ายที่สาม เช่น CsvHelper ด้านล่างเป็นตัวอย่างของวิธีการอ่านจาก และเขียนลงไฟล์ CSV โดยใช้ทั้งสองวิธีนี้

อ่านไฟล์ CSV โดยใช้ System.IO

using System;
using System.IO;

class ReadCSV
{
    static void Main()
    {
        string filePath = @"path\to\your\file.csv";
        // อ่านทุกบรรทัดของไฟล์ CSV
        string[] csvLines = File.ReadAllLines(filePath);
        
        foreach (string line in csvLines)
        {
            string[] rowData = line.Split(',');
            Console.WriteLine($"คอลัมน์แรก: {rowData[0]}, คอลัมน์ที่สอง: {rowData[1]}");
        }
    }
}

ผลลัพธ์ตัวอย่าง:

คอลัมน์แรก: ชื่อ, คอลัมน์ที่สอง: อายุ
คอลัมน์แรก: John Doe, คอลัมน์ที่สอง: 30

เขียนเข้าไฟล์ CSV โดยใช้ System.IO

using System;
using System.Collections.Generic;
using System.IO;

class WriteCSV
{
    static void Main()
    {
        string filePath = @"path\to\your\output.csv";
        var lines = new List<string>
        {
            "ชื่อ,อายุ",
            "John Doe,30",
            "Jane Smith,25"
        };
        
        File.WriteAllLines(filePath, lines);
        Console.WriteLine("เขียนไฟล์ CSV แล้ว.");
    }
}

ผลลัพธ์ตัวอย่าง:

เขียนไฟล์ CSV แล้ว.

ใช้ CsvHelper อ่าน CSV

สำหรับใช้ CsvHelper เริ่มต้นด้วยการเพิ่มแพ็กเกจ CsvHelper ลงในโปรเจ็กต์ของคุณโดยใช้ NuGet Package Manager.

using CsvHelper;
using System.Globalization;
using System.IO;
using System.Linq;
using CsvHelper.Configuration;

class ReadCSVWithCsvHelper
{
    static void Main()
    {
        string filePath = @"path\to\your\file.csv";

        using (var reader = new StreamReader(filePath))
        using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
        {
            var records = csv.GetRecords<dynamic>().ToList();
            foreach (var record in records)
            {
                Console.WriteLine($"คอลัมน์แรก: {record.Name}, คอลัมน์ที่สอง: {record.Age}");
            }
        }
    }
}

ผลลัพธ์ตัวอย่าง:

คอลัมน์แรก: John Doe, คอลัมน์ที่สอง: 30
คอลัมน์แรก: Jane Smith, คอลัมน์ที่สอง: 25

ใช้ CsvHelper เขียน CSV

using CsvHelper;
using System.Globalization;
using System.IO;
using System.Collections.Generic;
using CsvHelper.Configuration;

class WriteCSVWithCsvHelper
{
    public class Person
    {
        public string ชื่อ { get; set; }
        public int อายุ { get; set; }
    }

    static void Main()
    {
        string filePath = @"path\to\your\output.csv";
        var records = new List<Person>
        {
            new Person { ชื่อ = "John Doe", อายุ = 30 },
            new Person { ชื่อ = "Jane Smith", อายุ = 25 }
        };

        using (var writer = new StreamWriter(filePath))
        using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            csv.WriteRecords(records);
        }
        
        Console.WriteLine("เขียนไฟล์ CSV ด้วย CsvHelper.");
    }
}

ผลลัพธ์ตัวอย่าง:

เขียนไฟล์ CSV ด้วย CsvHelper.