2015-10-19 189 views
0

我正在將一些Excel電子表格導入到MS SQL Server中。我加載電子表格,清理數據,然後使用Alteryx將其導出到SQL。某些文件具有文本列,其中的單元格跨越多行(即使用換行符,例如在Excel中按ALT + ENTER時)。當我將表格導出到SQL然後查詢表格時,我看到很多'_x000D_',它們不在原始文件中。_x000D_導入SQL時出現

它是一種新行字符編碼?我如何擺脫它?

我一直無法複製錯誤。原始文件包含一些帶有口音的字母(àá等);我創建了帶有重音字母的多行電子表格,但是我設法將它們導出到SQL很好,沒有'x000D'。

如果這些是CSV文件,我會想到字符編碼,但Excel電子表格?有任何想法嗎?謝謝!

+0

」是否有某種新行字符編碼?「 - 是的,就是這樣。 「我如何擺脫它?」 - 字符串替換。無論是在Excel(VBA)還是在數據庫中。 – JimmyB

+0

但爲什麼我不能複製這個問題呢?如果我自己創建一個新的多行電子表格,這些奇怪的字符不會出現。在用於寫入SQL的OleDB連接中有一些選項嗎?這是記錄在任何地方? –

+0

這個文件從哪裏來?將數據導出到Excel的工具可能會引入這些字符,而無法手動輸入它們。 – JimmyB

回答

0

我知道這是舊的,但是:如果您使用Alteryx,只需通過「Data Cleansing」工具運行它作爲導出到SQL之前的最後一件事。對於有問題的字段,請通過選中相應的複選框告訴工具刪除新行。

如果仍然不起作用... 0x000D基本上是ASCII 13; (十六進制「D」= Int 13)...所以請嘗試通過常規公式工具運行數據,並且對於[field]問題,只需使用表達式Replace([field],CharFromInt(15),""),它應該通過用空字符串替換該字符來刪除該字符。 「