
所以這是我們的一些用戶看到的一個奇怪的問題,我已經能夠確認,但這對我來說絕對沒有意義。
基本上,我開發的應用程式在某些情況下會以 CSV 或 TSV 格式匯出文件,而這些文件通常會在載入回我們的系統之前載入到 Excel 中進行操作。資料區分大小寫,並且發生此情況的欄位包含前面帶有加號的文字(例如+Data +Like +This
)
似乎在某些情況下,導入文件時某些文字的大小寫會發生變化。似乎只有在「匯入」對話方塊中不將列更改為文字格式時才會發生這種情況,儘管我見過不這樣做就不會發生這種情況的情況。
這是一些顯示我的意思的圖像。這是 Notepad++ 中顯示的原始資料。請注意,第 50 行是“+Mario +Party +Kit”,大小寫正確。
這是導入後 Excel 中的文本,但未更改任何格式選項。該單元格被解釋為公式,因為它以 + 開頭,但您可以在頂部欄中看到大小寫已更改為“+mario +party +Kit”。 (使用者通常會立即匯入,然後尋找並將 = 替換為 ` 以將其修復為公式)
但是,如果我將列匯入為文字(選擇該列並在「文字匯入」對話方塊中選擇文字作為格式),您可以看到大小寫已保留。
誰能解釋一下這是怎麼回事?我們有以文字形式匯入的解決方法,但用戶經常忘記該步驟並最終浪費時間。我讀過很多關於數位格式的類似問題,這至少在某些用例中有意義,但這裡的情況改變對我來說沒有任何意義。
我已經確認在 Excel 2007、2010 和 2013 以及多台電腦上會發生這種情況。這是一個連結到我的範例中顯示的文件。
答案1
如果您稍微考慮一下文字被解釋為公式的事實 - 您應該意識到這是罪魁禍首,也是您遇到問題的原因。
格式為對名稱管理器中的+DefinedName
引用的字串 (在說明中查找,以解釋所有 Excel 版本)DefinedName
要么將單元格/導入的列格式化為文本,要么'
在所有前導=
,+
和-
字符前面添加 a (需要更多?)
其他可能的替代方案:(正如指出的技術員007
如何設定 Excel 始終將 CSV 檔案的所有欄位匯入為文字?