Excel用前导零破坏了我的数字

Excel用前导零破坏了我的数字,excel,Excel,我们处理来自联邦快递的数百批货物,跟踪号码进入CSV。多年来一切都很顺利,直到我们的一位客户决定使用联邦快递Smartpost Smartpost的跟踪编号相当长。下面是其中之一:6129990387420000 将此数字放入Excel时,它将变为61299903897420000000 我们最终有数百批货都被那个错误的追踪号码卡住了。Excel似乎正在将跟踪编号的后半部分转换为全零 有没有人遇到过这个问题,以及提示 我试过格式化单元格,运气不好 我是认真的,复制并粘贴Excel中的第一个数字,

我们处理来自联邦快递的数百批货物,跟踪号码进入CSV。多年来一切都很顺利,直到我们的一位客户决定使用联邦快递Smartpost

Smartpost的跟踪编号相当长。下面是其中之一:
6129990387420000

将此数字放入Excel时,它将变为
61299903897420000000

我们最终有数百批货都被那个错误的追踪号码卡住了。Excel似乎正在将跟踪编号的后半部分转换为全零

有没有人遇到过这个问题,以及提示

我试过格式化单元格,运气不好

我是认真的,复制并粘贴Excel中的第一个数字,然后看着Excel自动销毁该数字

微软证实这是故意的

为了避免这种情况,您必须将单元格改为文本,然后才能成功地将数字粘贴到中

我们的CSV是从数据库中以编程方式创建的。它的输出是未格式化的。所以我们无能为力

我已经用notepad++测试了打开CSV,一切看起来都很好。唯一的选择是不使用Excel查看文件

微软证实这是故意的

为了避免这种情况,您必须将单元格改为文本,然后才能成功地将数字粘贴到中

我们的CSV是从数据库中以编程方式创建的。它的输出是未格式化的。所以我们无能为力

我已经用notepad++测试了打开CSV,一切看起来都很好。唯一的选择是不要根据所做的评论(Scott Craner将其钉在评论中)使用Excel查看文件,我认为您是在Excel中直接打开CSV。你不能这样做。Excel将尽力解释每种数据类型。因为追踪号码是数字,所以它会将它们作为一般数字输入,然后您会遇到前面答案中提到的功能(@JosephKreifelsII err…您的…)。要解决此问题,必须导入文档不要简单地在Excel中打开CSV

为了省去一些麻烦,您甚至可能想从Excel中删除.csv文件扩展名关联,以便强制导入它。(将其绑定到记事本或记事本++或其他文本编辑器上!)

您必须打开excel文档,然后导入CSV

  • 打开Excel
  • 转到“数据”选项卡
  • 从文本中选择
  • 选择csv文件
  • 选择导入按钮
  • 选择分隔符
  • 选择下一步按钮
  • 取消选择选项卡并选择逗号
  • 选择下一步按钮
  • 定义每列的数据类型(跟踪编号的文本)
  • 选择finish。数据现在将保存在excel中,而不会丢失最后的数字
  • 您可以录制一个宏来执行此操作,我没有尝试过。

    根据所做的评论(Scott Craner在评论中指出了这一点),我认为您是在excel中直接打开CSV。你不能这样做。Excel将尽力解释每种数据类型。因为追踪号码是数字,所以它会将它们作为一般数字输入,然后您会遇到前面答案中提到的功能(@JosephKreifelsII err…您的…)。要解决此问题,必须导入文档不要简单地在Excel中打开CSV

    为了省去一些麻烦,您甚至可能想从Excel中删除.csv文件扩展名关联,以便强制导入它。(将其绑定到记事本或记事本++或其他文本编辑器上!)

    您必须打开excel文档,然后导入CSV

  • 打开Excel
  • 转到“数据”选项卡
  • 从文本中选择
  • 选择csv文件
  • 选择导入按钮
  • 选择分隔符
  • 选择下一步按钮
  • 取消选择选项卡并选择逗号
  • 选择下一步按钮
  • 定义每列的数据类型(跟踪编号的文本)
  • 选择finish。数据现在将保存在excel中,而不会丢失最后的数字

  • 您可以录制一个宏来执行此操作,我没有尝试过。

    我遇到了这个问题,我避免了VBA代码,因为我的数据库系统将跟踪号的前缀设置为“F”,以便Excel将其作为文本字段读取

    我遇到了这个问题,我避免了VBA代码,因为我的数据库系统在跟踪编号前加上了“F”前缀,以便Excel将其作为文本字段读取

    您需要将其作为文本而不是数字导入,因为Excel只存储前14个(我相信)数字。就像我说的那样,把它作为文本而不是数字来存储。我从
    主页
    >
    将单元格预先格式化为文本,然后粘贴跟踪号,它就工作了。布赖恩,你使用的是哪个版本?那是行不通的。我还发现微软的验证也不起作用。该字段必须预先格式化为文本。由于这一切都是通过编程完成的,所以唯一的选择是将文本字符串连接到数字上@我用的是2013年的约瑟夫克里费尔斯二世。您是使用VBA来执行此操作还是使用其他方法?您能否在程序中的每个跟踪编号之前添加一个报价单?CSV具有您想要的值。你不能做的是在excel中打开CSV,你必须通过导入过程,将字段定义为导入的文本。你需要将其作为文本而不是数字导入,因为excel只存储前14个(我相信)数字。就像我说的那样,把它作为文本而不是数字来存储。我从
    主页
    >
    将单元格预先格式化为文本,然后粘贴跟踪号,它就工作了。布赖恩,你使用的是哪个版本?那是行不通的。我还发现微软的验证也不起作用。该字段必须预先格式化为文本。由于这一切都是通过编程完成的,所以唯一的选择是将文本字符串连接到数字上@约瑟夫克