微軟論壇版主回復“無法默認禁用此功能”,可在“設置單元格格式”-“自定義”-“類型”改為“0”,去除科學計數法顯示。
該方法對於如數據庫導出的訂單號(純數字),可能會造成末尾的幾位數字變為0。這種情況,就不能按上面的方法修改了。
1、可以使用vs code打開導出的.csv文件,然后使用正則替換的方式,給訂單號附加一個前綴的英文單引號 ' ,然后保存為excel文件。
正則匹配寫法:
1. 匹配部分:,([0-9]{15})
2. 替換部分:,'$1
注意,匹配部分末尾的15,表示要匹配的數字位置,盡量跟訂單號長度一致,或少幾位,但不能太少,避免匹配到其他非訂單號內容。
2、保存后的Excel文件還可能顯示為如下狀態,不會自動轉換格式,隱去英文單引號 ' 。
此時還需進行一下文本替換,讓Excel自動轉換格式。因為Excel文本替換不支持正則(至少我現在不知道怎么做正則替換),所以需要替換多次,0-9,多達10次。
注意,其中“查找內容”和“替換為”輸入框中所填內容是一樣的,如下圖中的 1 表示1開頭的訂單號。
補充:
第一步,還可以使用notepad++或 EmEditor 等操作:
給指定列添加前綴單引號 ' ,避免被Excel自動轉化成科學計數法
使用notepad++,暫有兩種方法:(也可以使用EmEditor)
1. 如果列值是對齊的,而且文本行數不是數千,甚至上萬行,可以手工操作:
鼠標放在要添加字符的位置,按住 Alt 鍵,垂直向下拖動鼠標到末行,松開 Alt 鍵,然后按下要添的字符鍵,可以是多個字符
2. 如果列值不是對齊的,或者行數太多,則可使用正則替換:
勾選正則匹配,匹配式為 ,([0-9]{14}),替換式為 ,'$1,$1代表使用匹配式中第一個()里面的原內容。如果有多列為純數字的,而且列長度可能有交叉,建議看下要匹配的列的前一列末尾——即 , 前面的字符是否可寫入匹配式,這樣避免匹配誤差。如果列長度沒有交叉,則匹配列的純數字長度盡量做最長匹配,如下圖,匹配14個字符為 {14}
更多參考網絡,如
https://blog.csdn.net/lk142500/article/details/83119029
https://blog.csdn.net/ws379374000/article/details/82591171
如有更好的方法,歡迎留言指正。