http://yukishijob.blogspot.tw/2013/03/aspnetexcel.html
參考資料:
[ASP.NET] Excel 自動轉型造成的錯誤
透過 OleDb 精準讀入 Excel 檔的方法
基本上參考以上兩篇大致上就可以解決此問題,不過還是筆記一下:)
原始資料,超過1以上的數值左上角會出現綠色三角形,
提示「此儲存格內的數字其格式為文字或開頭為單引號」
即使強迫讓欄位設定為文字型態,依然上傳至網頁會出現數值為0的現象
後來想到那直接重新輸入數值,雖然上傳數值會變正常
但資料要有一萬多筆,不就重key到死…一點都不便利啊~
之後又在狗狗大神到處找答案
有參考到這篇↓
EXCEL 移除 ' 符號 並讓「格式為文字」的數字,一次轉換成數字格式的方法
確實能解決問題,但程式主要是給一般對電腦不是很熟的人使用
每次轉換都要請別人這樣轉,也太unfriendlly惹吧!!
肯定會縮"告"麻搞得這麼麻煩
不過這招有偷學到我有暗爽倒是真的,哈
總之後來估一下資料就發現這根本就是程式的問題嘛~
我的原始程式碼是這樣的:
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + folder + this.FileUpload1.FileName +
";Extended Properties='Excel 8.0;HDR=Yes';IMEX=1 ";
string queryStr = "SELECT * FROM [reforal$]";
修改步驟
- 在Connection String 加入 "IMEX=1;"
- 修改Regedit,路徑:
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel 下TypeGuessRows 的值改成 0
(如果電腦沒有灌office就只有4.0的樣子,有的路徑可能是3.5,不確定)
就解決了._.
---------------------EXCEL 移除 ' 符號 並讓「格式為文字」的數字,一次轉換成數字格式的方式
http://cocochocolatetw.pixnet.net/blog/post/31264848
有些資料庫匯出的EXCEL檔案格式中,在資料前都會有 ' 符號(表示文字格式),如下圖:
要如何一次移除所有 ' 符號並讓「格式為文字」的數字,一次轉換成數字格式的方法呢?
1.先在任一個空的儲存格上,鍵入數值 1。
2.選取剛剛鍵入1的儲存格,然後 [複製]。
3.選取您想要轉換儲存格之範圍。
4.在 [編輯] 功能表上,按一下 [選擇性貼上]。
5.在 [運算] 下方按一下 [乘]。
6.按一下 [確定]。
7.最後再把 所鍵入1 的儲存格刪掉。
完成囉^^
沒有留言:
張貼留言