Cách xuất file csv từ list object sử dụng c# (Export list object to csv c#)

1/14/2021 9:25 AM | Lập trình

Cách xuất file csv từ list object sử dụng c#

Giới thiệu

Trong bài viết và mẫu mã này, tôi muốn chia sẻ cách xuất một DataTable sang định dạng Tệp được phân tách bằng dấu phẩy (CSV) bằng cách sử dụng phương thức mở rộng C #. Chúng ta cũng sẽ học cách sử dụng một phương thức mở rộng để làm cho mã dễ quản lý hơn.

Tệp .csv là gì

Tệp Giá trị được Phân tách bằng Dấu phẩy (CSV) chứa dữ liệu với tất cả các cột trong tệp được phân tách bằng dấu phẩy. Một cách sử dụng khác của tệp CSV là mở trực tiếp tệp đó trong Excel và sau đó dữ liệu sẽ được tự động điền vào các ô Excel.
 Sau đây là ảnh chụp nhanh của tệp CSV mẫu:

 
 
Đây là quá trình tạo DataTable và xuất dữ liệu của nó sang tệp .csv.
 
Xuất Danh sách Đối tượng sang tệp Giá trị được Phân tách bằng Dấu phẩy (.CSV) bằng C #, cho phép xuất Thực thể Framework DbSet sang Tệp CSV. Một ví dụ về việc sử dụng có trong mã.
 
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace DataExportClass
{
    class Program
    {
        public class Company
        {
            public int ID { get; set; }
            public string NAME { get; set; }
            public string CITY{ get; set; }
        }
        
        static void Main(string[] args)
        {
            var Company= new List<Company>()
            {
                new Company
                {
                    ID  = 111,
                    NAME = "Devesh",
                    CITY = "Ghaziabad"
                },
                new Company
                {
                    ID = 222, 
                    NAME = "ROLI", 
                    CITY = "KANPUR"
                }
            };
            ExportData.ExportCsv(employees, "employees");
        }


        public static class ExportData
        {
            public static void ExportCsv<T>(List<T> genericList, string fileName)
            {
                var sb = new StringBuilder();
                var basePath = AppDomain.CurrentDomain.BaseDirectory;
                var finalPath = Path.Combine(basePath, fileName+".csv");
                var header = "";
                var info = typeof(T).GetProperties();
                if (!File.Exists(finalPath))
                {
                    var file = File.Create(finalPath);
                    file.Close();
                    foreach (var prop in typeof(T).GetProperties())
                    {
                        header += prop.Name + "; ";
                    }
                    header = header.Substring(0, header.Length - 2);
                    sb.AppendLine(header);
                    TextWriter sw = new StreamWriter(finalPath, true);
                    sw.Write(sb.ToString());
                    sw.Close();
                }
                foreach (var obj in genericList)
                {
                    sb = new StringBuilder();
                    var line = "";
                    foreach (var prop in info)
                    {
                        line += prop.GetValue(obj, null) + "; ";
                    }
                    line = line.Substring(0, line.Length - 2);
                    sb.AppendLine(line);
                    TextWriter sw = new StreamWriter(finalPath, true);
                    sw.Write(sb.ToString());
                    sw.Close(); 
                }
            }
        }
    }
}

Bài viết liên quan: Cách import data csv vào sql server sử dụng c# 

Nguồn: Tham khảo internet

Tin tức khác

  • Cách dựng 1 website bằng iis.

    Cách dựng 1 website bằng iis.

    Có rất nhiều bạn làm web nhưng lại không biết cách build 1 site trên iis. Nên hôm nay mình sẽ chia sẻ các bước đơn giản để có thể dễ dàng tạo được 1 trang web bằng iis trên  server windows.

  • Build site PHP trên server windows.

    Build site PHP trên server windows.

    Mình đang quản trị các website asp.net nên việc build một website wordpress lên vps của mình gặp rất nhiều khó khăn. Và mình hỏi còn gặp những ý kiến như không thể build php và asp.net trên cùng một môi trường. Nhưng hôm nay mình đã làm được và chia sẻ lại cho mọi người. Nếu vẫn gặp khó khăn thì inbox cho mình nha. Thông tin nằm ở footer trang web.

  • Upload hình ảnh trong ckeditor asp.net

    Upload hình ảnh trong ckeditor asp.net

    Mình làm dự án và khách hàng yêu cầu thêm chức năng trong ckeditor. Nên cũng đọc, tìm kiếm share lại cho anh em có nhu cầu sử dụng nhé.

  • Microservice là gì? Ưu nhược điểm khi xài Microservice.

    Microservice là gì? Ưu nhược điểm khi xài Microservice.

    Hôm bữa mình có viết 1 bài về tổng quan về abp framwork. Trong framework này cũng có nhắc tới cách sử dụng và demo về microservice. Hôm nay mình sẽ chia sẻ chi tiết hơn về microservice. Mọi người xem nhé

  • DNS là gì?

    DNS là gì?

    DNS là viết tắt của cụm từ Domain Name System, mang ý nghĩa đầy đủ là hệ thống phân giải tên miền. DNS được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền.

  • Cách download, upload file lên ftp sử dụng SftpClient Renci.SshNet

    Cách download, upload file lên ftp sử dụng SftpClient Renci.SshNet

    Hôm nay mình sẽ hướng dẫn các bạn thao tác check exits folder, file, cách upload file, download file, delete file từ ftp về máy local sử dụng thư viện SftpClient Renci.SshNet trong c#

  • Lập trình website có nhiều ngôn ngữ bằng google dịch sử dụng asp.net

    Lập trình website có nhiều ngôn ngữ bằng google dịch sử dụng asp.net

    Trong bài viết này, tôi sẽ thảo luận về công cụ chuyển đổi ngôn ngữ trong ASP.NET sử dụng plugin Website Translator miễn phí của Google. Plugin chuyển đổi ngôn ngữ của Google này là một công cụ rất mạnh mẽ sẽ chuyển đổi nội dung trang web của bạn sang các ngôn ngữ khác nhau trong vòng vài giây. Plugin này hỗ trợ hơn 90 ngôn ngữ.