2014年10月19日 星期日

[鐵人30天]當ASP.NET MVC 遇見 Angular.js MVC 客戶管理系統(22) – NPOI讀取功能

* 本篇目標

讀取Excel的Row Data

* 前言

實務上常常會讓使用者將大量的資料先輸入在Excel,再批次匯入系統,NPOI是一個強大的第三方套件,他可以做到的事情非常多,本篇就簡單介紹一下基本的功能,讀取Excel檔案。

* NPOI

透過Nuget安裝後,我們先來製作一個樣板,有兩個欄位,而使用者可以針對這兩個標題去輸入

711d3b9b09994647a0a60b4da2fcdaf4

新增一個View,MVC要使用檔案上傳Submit記得將enctype改為form-data

9b1850859cbf45e3919d61a404c204b5

顯示頁面

ab3737f5ef114959bbc5527068064172

填寫的檔案

b1687c49f2d847e7a15392c0aac40a2a

後端Submit的Controller可以針對UploadFile去做一些防呆判斷

8cfa74a3100d44dbb107a8473d562500

NPOI讀取.xlsx

23ecb2f9bbe147c18667a9d3b765c1a3

執行結果,只要將迴圈所取得的資料做一些處理即可,e.g 寫入資料庫

c5f7fb77eaa44aafa5d1b65e94a68dc8

* 後記

開發NPOI要注意的是版本問題,不同版本與法會有些許不同,本範例使用2.0.6版,如果讀取的是.xlsx檔,語法記得用X開頭的,如XSSFWorkBook,如果你是2003-2007的舊版excel(.xls),記得使用H開頭的語法,如HSSFWorkBook。

 

本系列程式原始碼請至我的Github下載  https://github.com/kyleap

** 如內容有誤請告知,將進行修改,謝謝 **

1 則留言:

  1. 請問有寫入資料庫 或轉成list 的範例嗎~~

    回覆刪除