C# 讀取 Excel 教學|使用 NPOI 進行資料處理|C# Excel 系列

更新 發佈閱讀 6 分鐘

除了寫入資料,C# 讀取 Excel 也是常見的開發需求。本篇將透過 NPOI 套件,帶你完成 Excel 資料讀取與處理的基本流程,適合剛接觸 Excel 自動化的新手,快速掌握資料匯入與解析技巧。

今天財務部門的同仁提出了一個需求,他們收到Excel的資料後,每次都要自己打開計算金額覺得很累,有沒有辦法請軟體工程師開發自動讀取Excel並計算裡面的金額加總?

這類的需求相當常見,我們就開始開發吧!

專案開發

語言:asp.net c#

應用程式: windows forms

讀取Excel元件: NPOI

1 . 建立專案

  • 打開Visual Studio 2022 建立一個asp.net c# windows forms專案,選Windows Forms App(.NET Framework),下一步後按建立(圖一)

(圖一)

vocus|新世代的創作平台
  • 拉一個button在畫面上提供程式的進入點(圖二)

(圖二)

vocus|新世代的創作平台


  • 對(圖二)button1點左鍵兩下,進入程式執行的區塊(圖三)

(圖三)

vocus|新世代的創作平台

2 . 詢問ChatGPT

  • 語言、框架、套件清楚的表達給GPT如下:

asp.net c# windows form app(.Net FrameWork) 使用NPOI讀取Excel資料

vocus|新世代的創作平台
vocus|新世代的創作平台


  • 取得GPT給的範例,並把範例程式碼放到我們button1按下後會執行程式的區塊內,private void button1_Click(object sender, EventArgs e)的大括號{}裡面

(請先用我查到的範例,後續有一定的基礎後可以自己使用GPT查出的範例,以免初學階段看不懂GPT的範例導致學習成效不彰)

private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel Files|*.xlsx;*.xls";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string filePath = openFileDialog.FileName;
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{

XSSFWorkbook workbook = new XSSFWorkbook(fs);


ISheet sheet = workbook.GetSheetAt(0);


for (int rowIndex = 0; rowIndex <= sheet.LastRowNum; rowIndex++)
{
IRow row = sheet.GetRow(rowIndex);
if (row != null)
{

for (int colIndex = 0; colIndex < row.LastCellNum; colIndex++)
{
ICell cell = row.GetCell(colIndex);
if (cell != null)
{

string cellValue = cell.ToString();
Console.WriteLine($"Row {rowIndex + 1}, Column {colIndex + 1}: {cellValue}");
}
}
}
}
}
}
}

3 . 測試效果

  • 用一個測試檔案來測試是否可以正確讀出Excel內容(圖一)
vocus|新世代的創作平台
  • 執行程式,按下button1選取檔案(圖二、圖三)

(圖二)

vocus|新世代的創作平台

(圖三)

vocus|新世代的創作平台
  • 看結果(圖四)

會看到Excel的內容在編譯器的輸出顯示出來

(圖四)

vocus|新世代的創作平台


結論

到目前為止我們已經會用程式讀取Excel內容,又學會了一項IT工程師的技能,可以再幫自己的成就感 + 1。下一篇我們會來研究範例程式碼的細節。



留言
avatar-img
ITT Fun
0會員
15內容數
主要內容會教大家如何快速有效轉職到中大型公司內部系統的軟體工程師。 程式真的沒有很困難,不論之前覺得學習太枯燥乏味或是其他因素而放棄或從未開始,這邊會帶給大家不同的體驗。 我們會用實際案例來當作教學主軸,用我親身的經歷讓大家快樂學習程式,過程中可以累積很多程式作品還會提升很多成就感,同時還能增加成功轉職的機會!
ITT Fun的其他內容
2026/03/17
如果你已經會用 C# 操作 Excel,下一步就是學習如何進行格式設定。本篇 C# NPOI 教學,將介紹如何使用 NPOI 套件來調整 Excel 樣式,例如字體、顏色、欄寬與儲存格格式,讓你的報表不只是能用,還能更專業。
Thumbnail
2026/03/17
如果你已經會用 C# 操作 Excel,下一步就是學習如何進行格式設定。本篇 C# NPOI 教學,將介紹如何使用 NPOI 套件來調整 Excel 樣式,例如字體、顏色、欄寬與儲存格格式,讓你的報表不只是能用,還能更專業。
Thumbnail
2026/03/12
在實務工作中,使用 C# 操作 Excel 來自動產生報表是非常常見的需求。本篇 C# 操作 Excel 教學,將帶你從零開始實作 Excel 自動化,包含資料寫入、報表生成等常見功能,讓你可以用 .NET 快速提升工作效率。
Thumbnail
2026/03/12
在實務工作中,使用 C# 操作 Excel 來自動產生報表是非常常見的需求。本篇 C# 操作 Excel 教學,將帶你從零開始實作 Excel 自動化,包含資料寫入、報表生成等常見功能,讓你可以用 .NET 快速提升工作效率。
Thumbnail
2026/03/10
在開始學習 C# 之前,你一定會好奇:C# 是什麼?.NET 又是什麼?兩者之間有什麼關係?本篇將用最簡單的方式,帶你理解 C# 語言與 .NET 架構的基本概念,並介紹常見的應用場景,幫助新手快速建立完整的程式基礎觀念。
Thumbnail
2026/03/10
在開始學習 C# 之前,你一定會好奇:C# 是什麼?.NET 又是什麼?兩者之間有什麼關係?本篇將用最簡單的方式,帶你理解 C# 語言與 .NET 架構的基本概念,並介紹常見的應用場景,幫助新手快速建立完整的程式基礎觀念。
Thumbnail
看更多
你可能也想看
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
曾經因為工作上的衝突,體驗到被甲方的語言攻擊與情緒勒索的不適,引發我思索如何改變現況。朋友的建議點燃了我嘗試轉職的火苗:成為具有專業技能且不受他人左右的自己。由於在資訊服務產業從事PM工作,自然聯想到專注於程式碼的工程師,他們在工作上相對具有專業技能,更不受甲方干擾。
Thumbnail
曾經因為工作上的衝突,體驗到被甲方的語言攻擊與情緒勒索的不適,引發我思索如何改變現況。朋友的建議點燃了我嘗試轉職的火苗:成為具有專業技能且不受他人左右的自己。由於在資訊服務產業從事PM工作,自然聯想到專注於程式碼的工程師,他們在工作上相對具有專業技能,更不受甲方干擾。
Thumbnail
前言:重新定義「被取代」的真正意涵 當我們談論 AI 將在 2030 年「取代」軟體工程師時,這個論述往往過於簡化了一個複雜的轉型過程。真正的問題不是 AI 是否會取代程式設計師,而是哪些工程師會被淘汰,哪些會成為下一代的技術領導者。 歷史告訴我們,每一次技術革命都會重新定義職業的本質,而非簡單
Thumbnail
前言:重新定義「被取代」的真正意涵 當我們談論 AI 將在 2030 年「取代」軟體工程師時,這個論述往往過於簡化了一個複雜的轉型過程。真正的問題不是 AI 是否會取代程式設計師,而是哪些工程師會被淘汰,哪些會成為下一代的技術領導者。 歷史告訴我們,每一次技術革命都會重新定義職業的本質,而非簡單
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
網路上提到自學程式的文章,都會說自學程式非常地辛苦,而且要很自律,決心夠強;而當自己踏上這條路後,才發現何止是辛苦,根本是佈滿荊棘,常常寸步難行,且被刺地遍體鱗傷(喂~是不是有點太浮誇了),但在每個寫出程式豁然開朗的當下,卻又成就感滿滿,所以想藉著寫部落格紀錄一下自己的學習過程!
Thumbnail
網路上提到自學程式的文章,都會說自學程式非常地辛苦,而且要很自律,決心夠強;而當自己踏上這條路後,才發現何止是辛苦,根本是佈滿荊棘,常常寸步難行,且被刺地遍體鱗傷(喂~是不是有點太浮誇了),但在每個寫出程式豁然開朗的當下,卻又成就感滿滿,所以想藉著寫部落格紀錄一下自己的學習過程!
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
要轉換到另一個領域,需要投入相當的時間,一旦準備的時間拉得越長,轉職要面臨的壓力也就可能隨之增加。 這次就將 Podcast 先前邀請到多位軟體工程師分享的轉職經驗彙整成整理包,讓大家可以更快找到自己需要的轉職資訊,把更多時間留在提升專業技能上!
Thumbnail
要轉換到另一個領域,需要投入相當的時間,一旦準備的時間拉得越長,轉職要面臨的壓力也就可能隨之增加。 這次就將 Podcast 先前邀請到多位軟體工程師分享的轉職經驗彙整成整理包,讓大家可以更快找到自己需要的轉職資訊,把更多時間留在提升專業技能上!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News