<bdo id="4g88a"><xmp id="4g88a">
  • <legend id="4g88a"><code id="4g88a"></code></legend>

    .NET使用CsvHelper快速讀取和寫入CSV文件

    前言

    在日常開發中使用CSV文件進行數據導入和導出、數據交換是非常常見的需求,今天我們來講講在.NET中如何使用CsvHelper這個開源庫快速實現CSV文件讀取和寫入。

    CsvHelper類庫介紹

    CsvHelper是一個.NET開源、快速、靈活、高度可配置、易于使用的用于讀取和寫入CSV文件的類庫。

    CsvHelper類庫特點

    什么是 .csv 文件?

    .csv 文件是一種用于存儲表格數據的文本文件,CSV 是 "Comma-Separated Values" 的縮寫,意思是 "逗號分隔值"。CSV 文件是一個存儲表格和電子表格信息的純文本文件,其內容通常是一個文本、數字或日期的表格。CSV 文件可以使用以表格形式存儲數據的程序輕松導入和導出。

    創建控制臺應用

    創建一個名為:CsvHelperExercise的.NET 8控制臺應用。

    安裝CsvHelper類庫

    NuGet包管理器中搜索:CsvHelper,點擊安裝!

    定義CSV文件讀取和寫入的對象

        public class StudentInfo
        {
            /// <summary>
            /// 學生學號
            /// </summary>
            public int ID { get; set; }

            /// <summary>
            /// 學生姓名
            /// </summary>
            public string Name { get; set; }

            /// <summary>
            /// 學生年齡
            /// </summary>
            public int Age { get; set; }

            /// <summary>
            /// 班級
            /// </summary>
            public string Class { get; set; }

            /// <summary>
            /// 性別
            /// </summary>
            public string Gender { get; set; }

            /// <summary>
            /// 住址
            /// </summary>
            public string Address { get; set; }
        }

    寫入CSV文件數據

            static void Main(string[] args)
            {
                var students = new List<StudentInfo>
                {
                    new StudentInfo { ID = 1, Name = "張三", Age = 20, Class = "終極一班", Gender = "男", Address = "北京市東城區" },
                    new StudentInfo { ID = 2, Name = "李四", Age = 21, Class = "終極一班", Gender = "女", Address = "上海市黃浦區" },
                    new StudentInfo { ID = 3, Name = "王五", Age = 22, Class = "終極一班", Gender = "男", Address = "廣州市越秀區" },
                    new StudentInfo { ID = 4, Name = "趙六", Age = 20, Class = "終極二班", Gender = "女", Address = "深圳市福田區" },
                    new StudentInfo { ID = 5, Name = "孫七", Age = 23, Class = "終極二班", Gender = "男", Address = "杭州市西湖區" },
                    new StudentInfo { ID = 6, Name = "周八", Age = 24, Class = "終極二班", Gender = "女", Address = "南京市玄武區" },
                    new StudentInfo { ID = 7, Name = "吳九", Age = 22, Class = "終極二班", Gender = "男", Address = "成都市錦江區" },
                    new StudentInfo { ID = 8, Name = "小袁", Age = 21, Class = "終極三班", Gender = "女", Address = "重慶市渝中區" },
                    new StudentInfo { ID = 9, Name = "大姚", Age = 20, Class = "終極三班", Gender = "男", Address = "武漢市武昌區" },
                    new StudentInfo { ID = 10, Name = "追逐時光者", Age = 23, Class = "終極三班", Gender = "女", Address = "長沙市天心區" }
                };

                //寫入CSV文件數據
                using var writer = new StreamWriter(@".\StudentInfoFile.csv");
                using var csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture);
                csvWriter.WriteRecords(students);
            }

    讀取CSV文件數據

    快速讀取上面寫入到StudentInfoFile.csv中的數據。

            static void Main(string[] args)
            {
                //讀取CSV文件數據
                using var reader = new StreamReader(@".\StudentInfoFile.csv");
                using var csvReader = new CsvReader(reader, CultureInfo.InvariantCulture);
                var getStudentInfos = csvReader.GetRecords<StudentInfo>().ToList();
            }

    項目源碼地址

    更多項目實用功能和特性歡迎前往項目開源地址查看??,別忘了給項目一個Star支持??。

    優秀項目和框架精選

    該項目已收錄到C#/.NET/.NET Core優秀項目和框架精選中,關注優秀項目和框架精選能讓你及時了解C#、.NET和.NET Core領域的最新動態和最佳實踐,提高開發工作效率和質量??右淹?,歡迎大家踴躍提交PR推薦或自薦(讓優秀的項目和框架不被埋沒??)。

    https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

    參考文章

    DotNetGuide技術社區交流群

    • DotNetGuide技術社區是一個面向.NET開發者的開源技術社區,旨在為開發者們提供全面的C#/.NET/.NET Core相關學習資料、技術分享和咨詢、項目框架推薦、求職和招聘資訊、以及解決問題的平臺。
    • 在DotNetGuide技術社區中,開發者們可以分享自己的技術文章、項目經驗、學習心得、遇到的疑難技術問題以及解決方案,并且還有機會結識志同道合的開發者。
    • 我們致力于構建一個積極向上、和諧友善的.NET技術交流平臺。無論您是初學者還是有豐富經驗的開發者,我們都希望能為您提供更多的價值和成長機會。

    歡迎加入DotNetGuide技術社區微信交流群??

    posted @ 2024-06-25 08:00  追逐時光者  閱讀(857)  評論(6編輯  收藏  舉報
    免费视频精品一区二区_日韩一区二区三区精品_aaa在线观看免费完整版_世界一级真人片
    <bdo id="4g88a"><xmp id="4g88a">
  • <legend id="4g88a"><code id="4g88a"></code></legend>