2015-10-19 597 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),""),它应该通过用空字符串替换该字符来删除该字符。 “