将选择查询数据从mysql导出到csv&用excel打开,领先的零消失了。
虽然列是varchar,但是在导出数据时,它会像
一样写入 4567 instead of 04567,
有没有办法在导出到csv时保留前导零?
答案 0 :(得分:1)
导出csv时,将数据放在单引号之间。
即。 04567将是'04567'
答案 1 :(得分:1)
如果您正在使用SSRS,请转到需要前导零的文本框,然后在文本框窗格中,向下滚动以格式化并输入零,以便数字中包含多个数字。例如,在邮政编码中,您可以在格式框中输入00000。我知道这适用于Excel 2013。
答案 2 :(得分:0)
您的CSV文件将具有前导零。只需在文本编辑器中打开它即可。
问题是Excel和Numbers(对于Mac)将删除前导零,并将带有数字的字符串转换为数字格式。这是出于意图,因为excel中的大量输入来自各种来源,其中数字通常被视为文本。当你将数字放入excel时,你通常希望用数字作为数字(即计算)而不是文本。所以他们让它自动处理最常见的用例。
强制excel在输入中显示数字作为文本而不需要用户做任何事情的唯一方法是输出excel文件并在其中指定“自定义数字格式”。我建议使用XLS导出库,因为它看起来不像在CSV文件中添加一行配置文本那么简单。
答案 3 :(得分:-3)
您需要将数字用双引号括起来,例如:...,"04567",...
,但是它会被解释为电子表格中的文本,因此除非您先进行转换,否则整数运算将不会对它起作用(整数不能以在excel中为0。