2010年5月19日 星期三

實作資料夾排序與讀取EXCEL數字為空值

最近在製作幾個程式上遇到了些問題,也積極的去尋找解決方法,因此得到下列兩個結論

1.在.NET中的獲取檔案與獲取資料夾和Windows裡的排序不同,不知道有沒有人發現這一點,最近在實做檔案遞迴時,發現到使用.GetDirectories() 和 .GetFiles()所得到的陣列排序竟然和Windows顯示時不一樣,這樣有可能會造成讀取順序的錯誤,因此必須自己時做一個IComparer來做排序的動作,不過是過了網路上非常多的排序如同檔案名稱、時間等等,都無法達到我的需求也就是說排出來結果和WINDOWS顯示時不同,找了很久最後終於找到了我要的~也就是下面的CODE此陣列排序出來的結果會和WINDOWS預設排序出來的結果一樣也就是"依名稱遞增"排序,若有需要遞減或是不同類型排序請舉一反三自己製作吧~

//實作資料夾排序與WINDOWS排序相同


2. 另外一項則是在對EXCEL進行存取時發現到一個嚴重的Bug,就是如果EXCEL裡的資料格式是數字的話,若您沒有再打開EXCEL的語法內設定這個值的話,就會造成讀取出來的值會變成空值(""),也就會造成錯誤,所以若要讀取EXCEL的數值而非文本的話一定要加上此參數,如下。



以上就是最近專案所遇到的問題~提供大家做參考!

沒有留言:

張貼留言