格式導致的Excel導入sql出現(xiàn)異常的解決方法
本來程序是正常運行的,有時候會因為用戶的excel文檔沒有按要求的格式來做,才會出現(xiàn)一些異常情況。本以為這次也是一樣,后來拿到數(shù)據(jù)一看,并沒有發(fā)現(xiàn)什么異常,而且自己又照著做了一些數(shù)據(jù),竟然也會出現(xiàn)異常,只好懷疑是自己的程序有問題了。
常言說的好,最難找的是最后一個錯誤,這話確實不錯。我?guī)缀鮿佑昧宋宜莆盏母鞣N手段,程序上真的沒辦法找出有啥問題了。在一個問題上折騰久了,浪費時間不說,還容易讓自己的情緒低落。到后來,還是轉去懷疑用戶的數(shù)據(jù)有問題,無意中做了一下格式調整,竟然發(fā)現(xiàn)異常不見了。
Excel的單元格格式設置十分豐富,數(shù)據(jù)一旦被格式化,那你所看到可能已經(jīng)不是廬山真面目了。比如貨幣格式,數(shù)據(jù)本身只是一串數(shù)字,并不會包含貨幣符號。
在我這個程序中,有一列數(shù)據(jù)為編碼,可能是字母和數(shù)字的混合,也可能是純數(shù)字,正常情況下,應該設置成文本格式,可能因為純數(shù)字在這種情況下會有一個錯誤提示,也就是在單元格旁邊出現(xiàn)了一個黃色的感嘆號,用戶大概覺得不對,就設置成了郵政編碼這種特殊格式,數(shù)據(jù)看起來沒啥變化,但程序在識別的時候就出現(xiàn)了異常。還有一個字段是月份,程序要求在一位數(shù)前補0,如果格式設置為數(shù)字,前面的0就沒有了,所以必須設置為文本。如果自定義為:00,雖然在excel下顯示的數(shù)字和想要的一樣,但程序在處理時會當成一個數(shù)字處理,結果也會不符合要求。
總結一下,對于要導入到數(shù)據(jù)庫的excel數(shù)據(jù),不要做格式化處理,保持原始的字符或數(shù)字格式是最明智的選擇。
相關文章
sqlserver查詢去掉重復數(shù)據(jù)的實現(xiàn)
這篇文章主要介紹了sqlserver查詢去掉重復數(shù)據(jù)的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01mssql2005,2008導出數(shù)據(jù)字典實現(xiàn)方法
在項目開發(fā)過程中會用到數(shù)據(jù)字典,本文將詳細介紹mssql2005,2008如何導出數(shù)據(jù)字典,需要了解更多的朋友可以參考下2012-11-11在數(shù)據(jù)庫‘master’中拒絕CREATE DATABASE權限問題的解決方法
今天使用Linq To SQL,要求判斷數(shù)據(jù)庫是否存在,不存在是自動創(chuàng)建數(shù)據(jù)庫。2011-10-10SQL?Server數(shù)據(jù)庫的三種創(chuàng)建方法匯總
新建數(shù)據(jù)庫是我們開始數(shù)據(jù)庫學習的重要一步,下面這篇文章主要給大家介紹了關于SQL?Server數(shù)據(jù)庫的三種創(chuàng)建方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-05-05SQL Server2022安裝教程的實現(xiàn)步驟(圖文教程)
在日常的工作中,sql server作為一款常用的數(shù)據(jù)庫管理系統(tǒng),安裝與配置就顯得非常重要,本文主要介紹了SQL Server2022安裝教程的實現(xiàn)步驟,感興趣的可以了解一下2023-09-09