MVC4.0 上傳Excel並存入資料庫
這裡的這個功能實現在WebForm很好實現,上傳階段簡單的一個FileUoLoad控制元件就搞定了,什麼取值,什麼上傳都是浮雲,微軟都幫我們封裝好了,我們只需要一拖一拽就OK了,但這些在MVC中是不行的! MVC實現了顯示和控制的分離就不可能再使用服務端控制元件了,所以我們就又回到了原始的表單提交,AJAX非同步提交資料什麼的,不多說直接上程式碼,簡單的寫一下 View: <form id="form" name="form" enctype="multipart/form-data" method="post" action="/DataInfoAndCal/Cal"> <input type="file" name="fileName" /> <input name="info" type="submit" value="http://www.cnblogs.com/a164266729/p/導 入" class="bt_bg" /> </form> 在控制器中接受選中的檔案 可以這樣子: HttpPostedFileBase fb = Request.Files[0]; string fileName = fb.FileName; //獲取到檔名 xx.xls fb.SaveAs(Server.MapPath("~/App_Data/Excel/Model.xls")); 判斷什麼的都是浮雲就不寫上去了 好了上傳成功,注意 <input type="file" name="fileName" />這個標籤使用 HttpPostedFileBase fb = Request.Files[0];在Chome瀏覽器下只能夠獲得檔名稱而不能夠獲得完整路徑 這個問題還沒解決 好的下一步將Excel轉換為DataSet資料集,這個在這裡就好WebForm沒什麼區別了 直接上程式碼 DataSet dsCal = new DataSet(); dsCal = GetDataSet(fb.FileName); //下面是方法
#region EXCEL資料轉換DataSet 這裡面注意取到的Excel的表名的集合可能會有不是$結束的,這是由Excel內部處理導致的 直接篩選下就OK了 順利的完成Excel的匯入上轉換 存入資料庫等做完再寫 番外話:畢業一年來第一次在部落格園裡面寫東西,感覺記錄下成長的腳印是件很開心的事情 |