C# TXT 檔案解析進階實務應用|解析顯示|C# 檔案處理系列

更新 發佈閱讀 12 分鐘

在掌握 C# 讀取 TXT 檔案 之後。本篇將帶你學習 C# TXT 檔案解析進階實務用運,著重在TXT檔案解析後的資料顯示,才能實務上在IT部門確實的幫助到其他部門應用,幫助你從基礎讀取進階到實務應用。


本篇重點:

  • ✔ 實務應用情境(內容顯示)

👉 建議先閱讀

如果你還沒看基礎教學,建議先閱讀:

C# TXT 檔案解析教學|讀取文字檔與資料處理完整範例|C# 檔案處理系列


我們再回顧一下,財務部門是希望我們把txt的檔案解析,讓他們更方便閱讀,但我們做到了解析,可是解析後是在程式編譯器裡面才看得到,這樣並沒有讓他們方便閱讀,所以我們要來調整顯示的方式,讓使用者可以方便閱讀txt的訊息。

開始進階修改

1 . 開啟 C# TXT 檔案解析教學|讀取文字檔與資料處理完整範例|C# 檔案處理系列 程式

vocus|新世代的創作平台

2 . 依據需求調整範例程式碼

  • 把整個button1_Click裡面的程式丟到GPT裡面,並且清楚表達如下:

透過winform裡面的工具顯示內容給使用者看

  • 取得GPT給的版本

有新增或修改的程式碼後面我會加//新增 或 //修改 或 //一些細節備註,讓你更清楚我們有調整的地方。

private void button1_Click(object sender, EventArgs e)
{
string filePath = @"C:\txtParse\課程8.txt";

string[] lines = File.ReadAllLines(filePath);

//以下新增
dataGridView1.AutoGenerateColumns = false;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.ReadOnly = true;
dataGridView1.Columns.Clear();
dataGridView1.Columns.Add("Account", "帳號");
dataGridView1.Columns.Add("Code", "代碼");
dataGridView1.Columns.Add("Type", "類型");
dataGridView1.Columns.Add("Amount", "金額");
dataGridView1.Columns.Add("Time", "時間");
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.Rows.Clear();
//以上

foreach (string line in lines)

{

string[] values = line.Split(

new char[] { ' ' },

StringSplitOptions.RemoveEmptyEntries

);

string account = values[0];

string code = values[1];

string type = values[2];

string amount = values[3];

string time = values[4];

//以下新增​
dataGridView1.Rows.Add(
values[0],
values[1],
values[2],
values[3],
values[4]
);
//以上​
}

}
  • 新增DataGridView元件

程式碼我等下會繼續講解,但講解前我們要先在我們的畫面拉一個DataGridView元件,因為我們要用DataGridView來顯示資料,如果沒有拉你會發現這些程式碼有錯誤,因為編譯器找不到你的DataGridView元件,就會報錯。

編譯器切到Form1.cs → 選左側工具箱DataGridView左鍵點一下 → Form1上左鍵常按拉一個適合的大小。(圖一)

(圖一)

vocus|新世代的創作平台
  • 觀察DataGridView預設的名稱

你拉完的DataGridView在畫面上左鍵點一下,並在右邊的屬性欄位看它的預設名稱,預設名稱為dataGridView1,然後你就會發現程式的地方沒有報錯了,因為編譯器現在發現dataGridView1已存在。(圖二)

(圖二)

vocus|新世代的創作平台

3 . 新增或更改的程式碼:

新增程式碼:

  1. dataGridView1.AutoGenerateColumns = false;
  2. dataGridView1.AllowUserToAddRows = false;
  3. dataGridView1.ReadOnly = true;
  4. dataGridView1.Columns.Clear();
  5. dataGridView1.Columns.Add("Account", "帳號");
  6. dataGridView1.Columns.Add("Code", "代碼");
  7. dataGridView1.Columns.Add("Type", "類型");
  8. dataGridView1.Columns.Add("Amount", "金額");
  9. dataGridView1.Columns.Add("Time", "時間");
  10. dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
  11. dataGridView1.Rows.Clear();

-------------------------------------------------------------------------------------------------------

第 1 行 dataGridView1.AutoGenerateColumns = false;dataGridView1 設定不自動產生欄位。

第 2 行 dataGridView1.AllowUserToAddRows = false;dataGridView1 設定不允許使用者在畫面自己產生新的一列資料。

第 3 行 dataGridView1.ReadOnly = true;dataGridView1 設定只讀取不能編輯。

第 4 行 dataGridView1.Columns.Clear();dataGridView1 把所有欄位清除。

第 5 行 dataGridView1.Columns.Add("Account", "帳號");dataGridView1 新增一個欄位,欄位名稱為Account。

第 6 行 dataGridView1.Columns.Add("Code", "代碼");dataGridView1 新增一個欄位,欄位名稱為Code。

第 7 行 dataGridView1.Columns.Add("Type", "類型");dataGridView1 新增一個欄位,欄位名稱為Type。

第 8 行 dataGridView1.Columns.Add("Amount", "金額");dataGridView1 新增一個欄位,欄位名稱為Amount。

第 9 行 dataGridView1.Columns.Add("Time", "時間");dataGridView1 新增一個欄位,欄位名稱為Time。

第 10 行 dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

dataGridView1 設定欄位自動縮放到讓資料可以剛好顯示,如果沒設定,當資料過長欄位不會自動放大,資料就會被截斷一部分看不到。

第 11 行 dataGridView1.Rows.Clear();DataGridView1 把所有資料刪除,這個非常重要,因為假設沒有做刪除,下次再按按鈕產生的時候,之前產生的舊資料還會在裡面,然後又增加新的資料進來,這樣使用者會跟原本的檔案資料對不上。

新增程式碼:

  1. dataGridView1.Rows.Add(values[0],values[1],values[2],values[3],values[4]);

-------------------------------------------------------------------------------------------------------

第 1 行 dataGridView1.Rows.Add(values[0],values[1],values[2],values[3],values[4]);

原本我們在這邊是用Console.Wriline把values[0]-values[4]串起來顯示在輸出框,現在我們就用dataGridView1.Rows.Add把值放進去,因為我們有5個欄位,所以把txt每一列解析出來的5個數值一列一列加到dataGridView1裡面。

4 . 測試結果

  • 直接開始程式並且按下button 1。(圖一)

圖一:

紅色框框就是對應我們程式碼dataGridView1.Columns.Add新增出來的欄位。

藍色框框則是我們在dataGridView1.Rows.Add把資料一列一列加進來,最後畫面就會幫我們顯示資料出來。

有了這個顯示資料的DataGridView元件,資料就能直接顯示給使用者,而且這個元件很方便,在紅色框框的每個欄位你都能用左鍵按下,就會依據欄位做排序,這時候使用者想用金額或是時間做排序就可以很方便找出需要的特定資料了。

(圖一)

vocus|新世代的創作平台

結論

之後的練習也會越來越多元件的組合,難度會逐漸提升,不過,有趣度跟成就感會提高更多!我還是會跟著大家一起做,所以不用擔心。

如果覺得到目前為止還是覺得很困難也不用擔心,再回去看之前的章節,不用想一次就懂,複習完有卡住也沒關係,不用一直糾結,下次再複習一次,當做到很多遍的時候自然就會開竅,我也不知道為什麼,但人類就是這麼聰明,久了會自然開竅的,千萬不要一次不懂就沮喪,我們一起加油!

留言
avatar-img
ITT Fun
1會員
19內容數
主要內容會教大家如何快速有效轉職到中大型公司內部系統的軟體工程師。 程式真的沒有很困難,不論之前覺得學習太枯燥乏味或是其他因素而放棄或從未開始,這邊會帶給大家不同的體驗。 我們會用實際案例來當作教學主軸,用我親身的經歷讓大家快樂學習程式,過程中可以累積很多程式作品還會提升很多成就感,同時還能增加成功轉職的機會!
ITT Fun的其他內容
2026/05/06
在學會使用 C# 讀取 TXT 檔案 之後,下一步就是理解實際的程式碼運作方式。本篇將針對 C# TXT 檔案解析範例 進行完整說明,包含文字檔讀取流程、逐行處理邏輯,以及常見的資料解析技巧,幫助你真正看懂每一段程式碼,而不只是單純使用。 本篇重點: ✔ C# 讀取 TXT 範例程式碼解析
Thumbnail
2026/05/06
在學會使用 C# 讀取 TXT 檔案 之後,下一步就是理解實際的程式碼運作方式。本篇將針對 C# TXT 檔案解析範例 進行完整說明,包含文字檔讀取流程、逐行處理邏輯,以及常見的資料解析技巧,幫助你真正看懂每一段程式碼,而不只是單純使用。 本篇重點: ✔ C# 讀取 TXT 範例程式碼解析
Thumbnail
2026/04/30
在進行資料處理或系統開發時,C# 讀取 TXT 檔案 是非常常見的需求,例如讀取設定檔、日誌檔或匯入簡單資料。本篇將帶你完整學習如何使用 C# 進行 文字檔(TXT)解析與資料讀取,包含常見的 File 讀取方式與 StreamReader 實作範例,幫助你快速掌握 .NET 中處理文字檔案的基本技
Thumbnail
2026/04/30
在進行資料處理或系統開發時,C# 讀取 TXT 檔案 是非常常見的需求,例如讀取設定檔、日誌檔或匯入簡單資料。本篇將帶你完整學習如何使用 C# 進行 文字檔(TXT)解析與資料讀取,包含常見的 File 讀取方式與 StreamReader 實作範例,幫助你快速掌握 .NET 中處理文字檔案的基本技
Thumbnail
2026/04/28
在使用 C# 發送 Email 時,最常見的需求之一就是透過 Gmail SMTP 寄信。不過許多開發者在設定 Gmail SMTP 時,常會遇到驗證失敗、無法連線或帳號被拒絕等問題。本篇將帶你完整了解如何使用 C# 搭配 Gmail SMTP 發送 Email,包含 Gmail SMTP 設定、.
Thumbnail
2026/04/28
在使用 C# 發送 Email 時,最常見的需求之一就是透過 Gmail SMTP 寄信。不過許多開發者在設定 Gmail SMTP 時,常會遇到驗證失敗、無法連線或帳號被拒絕等問題。本篇將帶你完整了解如何使用 C# 搭配 Gmail SMTP 發送 Email,包含 Gmail SMTP 設定、.
Thumbnail
看更多
你可能也想看
Thumbnail
第一篇文章,就先不談技術,來聊聊這個部落格(沙龍)名稱。 我目前主要技能樹點在 iOS 開發,姑且可以稱作一位 iOS 軟體工程師XD。 如標題所述,我的本科專業是法律,並在取得法學碩士及律師執照後做了幾年訴訟律師,每天的生活就是......
Thumbnail
第一篇文章,就先不談技術,來聊聊這個部落格(沙龍)名稱。 我目前主要技能樹點在 iOS 開發,姑且可以稱作一位 iOS 軟體工程師XD。 如標題所述,我的本科專業是法律,並在取得法學碩士及律師執照後做了幾年訴訟律師,每天的生活就是......
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
在學習 Python 的初期,我們常常會從一些小小的專案開始練習。今天要帶你做的,就是其中一個經典的入門練習——簡單計算機。 這個練習的目標是:讓程式接收兩個數字和一個運算符(+、-、*、/),並回傳正確的計算結果。 可以在Visual Studio Code中執行 #!/usr/bin/
Thumbnail
在學習 Python 的初期,我們常常會從一些小小的專案開始練習。今天要帶你做的,就是其中一個經典的入門練習——簡單計算機。 這個練習的目標是:讓程式接收兩個數字和一個運算符(+、-、*、/),並回傳正確的計算結果。 可以在Visual Studio Code中執行 #!/usr/bin/
Thumbnail
本週人工智慧產業迎來重大的策略性變革,OpenAI 正式宣布納入 Astral 團隊及其創辦人 Charlie Marsh,象徵著這家人工智慧巨頭正從純粹的模型供應商轉向深度的軟體工程與開發工具整合。此項人事異動與產品整合計畫預示了 OpenAI 即將推出的桌面級超級應用程式,將透過結合
Thumbnail
本週人工智慧產業迎來重大的策略性變革,OpenAI 正式宣布納入 Astral 團隊及其創辦人 Charlie Marsh,象徵著這家人工智慧巨頭正從純粹的模型供應商轉向深度的軟體工程與開發工具整合。此項人事異動與產品整合計畫預示了 OpenAI 即將推出的桌面級超級應用程式,將透過結合
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
學程式設計,未來還有價值嗎? Meta 執行長祖克柏,在近期的採訪中提到: Meta 擁有一種人工智慧,可在軟體開發專案中 充當「中階軟體工程師」來使用 2025 年,使用這種「中階軟體工程師」 自動開發應用程式,只是個開始 到了 2030 年,應用程式幾乎能由 AI 全
Thumbnail
學程式設計,未來還有價值嗎? Meta 執行長祖克柏,在近期的採訪中提到: Meta 擁有一種人工智慧,可在軟體開發專案中 充當「中階軟體工程師」來使用 2025 年,使用這種「中階軟體工程師」 自動開發應用程式,只是個開始 到了 2030 年,應用程式幾乎能由 AI 全
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News