我的CSV文件中有一列包含由逗号分隔的数字字符串。即使我希望将其视为文本,Excel仍不断将其转换为数字。示例:
470,1680 get converted to 4,701,680
但是,我希望它保持为470,1680我试图将单元格格式设置为文本,但这会删除原来的逗号。如何实现此操作?
ggazkfy81#
将.CSV文件重命名为.TXT文件。用Excel打开该文件,将弹出文本导入向导。告诉Excel该文件是带分隔符的文件,逗号是分隔符。Excel将给予一个屏幕,允许您为每列指定格式。选择所需列的文本格式。导入操作完成!为了测试这一点,我创建了以下.CSV文件:
test1,"470,1680",does it work test2,"120,3204",i don't know
当直接在Excel中打开CSV时,我得到以下内容:
test1 4,701,680 does it work test2 1,203,204 i don't know
当使用我的方法打开时,我得到的是:
test1 470,1680 does it work test2 120,3204 i don't know
这难道不是想要的结果吗?
2g32fytz2#
我发现,行之有效的方法是:
="12345678901349539725", "CSV value2", "Another value"
这里的关键是,该值是包含="{Number}"的字符串。Excel以某种方式遵守该模式。也许它可以更好地写为
="{Number}"
"="12345678901349539725""
但是不要在代码中使用引号。
kpbpu0083#
如果你能操纵CVS文件,在每个数字前放'
vlju58qv4#
好的......文件使用回车+换行符来描述新记录的开始。它还(出于我不明白的原因)在每个记录中的随机位置使用换行符a-但是没有回车。为了解决这个问题,我用Notepad打开了这个文件,并使用“扩展”搜索模式进行了查找和替换。我用什么都不做替换了\n。现在,数据可以使用我以前推荐的解决方案在Excel中正确打开。当然,您可以使用任何其他程序(不仅仅是Notepad)来进行字符替换。这样做有帮助吗?
\n
jucafojl5#
在DocNumber实际为文本的情况下尝试以下操作:选择(CHAR(10)+单据编号)AS单据编号也就是说,通过添加一个不可见的文本字符,它可以欺骗Excel,使其成为一个文本字符串。
yfjy0ee76#
这个问题是关于Excel千位分隔符的。我的快速解决方案很简单,对我很有效。1.转到Excel--〉文件--〉选项--〉高级1.找到“千位分隔符”。您的分隔符可能是“,"。1.更改分隔符,如“x”等。完成后,我建议将分隔符切换为“,”。
6条答案
按热度按时间ggazkfy81#
将.CSV文件重命名为.TXT文件。用Excel打开该文件,将弹出文本导入向导。告诉Excel该文件是带分隔符的文件,逗号是分隔符。Excel将给予一个屏幕,允许您为每列指定格式。选择所需列的文本格式。导入操作完成!
为了测试这一点,我创建了以下.CSV文件:
当直接在Excel中打开CSV时,我得到以下内容:
当使用我的方法打开时,我得到的是:
这难道不是想要的结果吗?
2g32fytz2#
我发现,行之有效的方法是:
这里的关键是,该值是包含
="{Number}"
的字符串。Excel以某种方式遵守该模式。也许它可以更好地写为
但是不要在代码中使用引号。
kpbpu0083#
如果你能操纵CVS文件,在每个数字前放'
vlju58qv4#
好的......文件使用回车+换行符来描述新记录的开始。它还(出于我不明白的原因)在每个记录中的随机位置使用换行符a-但是没有回车。
为了解决这个问题,我用Notepad打开了这个文件,并使用“扩展”搜索模式进行了查找和替换。我用什么都不做替换了
\n
。现在,数据可以使用我以前推荐的解决方案在Excel中正确打开。当然,您可以使用任何其他程序(不仅仅是Notepad)来进行字符替换。这样做有帮助吗?
jucafojl5#
在DocNumber实际为文本的情况下尝试以下操作:选择(CHAR(10)+单据编号)AS单据编号
也就是说,通过添加一个不可见的文本字符,它可以欺骗Excel,使其成为一个文本字符串。
yfjy0ee76#
这个问题是关于Excel千位分隔符的。我的快速解决方案很简单,对我很有效。
1.转到Excel--〉文件--〉选项--〉高级
1.找到“千位分隔符”。您的分隔符可能是“,"。
1.更改分隔符,如“x”等。
完成后,我建议将分隔符切换为“,”。