如何让 Excel 2007 停止将大数字格式化为科学计数法?

如何让 Excel 2007 停止将大数字格式化为科学计数法?

逆的这个问题

作为编程工作的一部分,我经常从外部来源下载 CSV。我喜欢在 Excel 中检查它们的数据,因为说实话,Excel 是处理这类事情的理想工具。

除了一种行为:Excel 试图智胜 CSV 中的数据,因此,如果某些内容看起来像数字(例如,许多 ISBN/EAN 代码),Excel 会将其视为数字。如果这个数字真的很大(就像几乎所有的 ISBN/EAN 代码一样),Excel 会将数字转换为科学计数法。最后,如果数字不是特别大,对于大多数这些数据格式,这表明 Excel 已决定我的数字不应该有前导零。

那么... 有没有办法打开 CSV(如果可能的话通过双击,但我愿意在这里妥协)以便我可以让 Excel 2007 将所有列视为文本?

答案1

可以,但需要几个手动步骤。这些步骤来自 Excel 2003,但我认为 2007 中的向导类似:

  1. 将文件重命名为 TXT。不要双击它。
  2. 打开 Excel
  3. 单击文件、打开
  4. 找到并双击文本文件
  5. 它应该打开“文本导入向导”
  6. 第一步,选择“分隔”
  7. 第二步,取消勾选“tab”,勾选“逗号”
  8. 第三步,滚动到最后一列,按住 Shift 键并单击以选择所有列,然后单击“文本”作为格式。
  9. 忽略无处不在的烦人的“数字存储为文本”警告

经过一些练习,就会很快。

答案2

似乎没有办法阻止大数字的转换,因此解决这个问题的方法是将字段的属性更改为文本,然后再在 excel 中打开它。例如,如果您正在创建一个 COGNOS 报告,其中有一个带有数字的字段,如供应商编号,该字段最多可以有 15 个字符或更多。在 COGNOS 中,在运行报告之前将该字段的属性更改为文本。因此,当您将报告作为 Excel 输出运行时,excel 会将其视为文本而不是数字。您输入的任何数字不是在计算中使用并更改为文本是相当安全的。

答案3

我从网上银行导出。我选择保存文件(而不是打开它)。它以 .csv 格式保存。然后我打开一个 excel 表,在“获取和转换数据”功能区中的“数据”选项卡中,单击“来自文本/CSV”,选择(双击)我保存的 .csv 文件。

它将以文件来源、分隔符和数据类型检测作为标题打开。除数据类型检测外,其他所有内容保持不变 - 选择不检测数据类型。然后单击下面的加载。数据将正确加载到您的 Excel 表中,所有数字均正确。

希望这能有所帮助。解决这个问题是一项艰巨的任务。

答案4

我注意到,您可以将列的格式更改为“数字”,并将小数位设置为 0。这样,导入文件后,Excel 中将显示完整值。这里的关键部分是,每次打开 CSV 时都必须执行此操作,以保留有效数字并防止舍入。舍入数字的问题似乎只有在您保存 CSV 文件然后再调整数字格式时才会发生。我已经学会保留备份,以备不时之需,因为我忘记了这个愚蠢的“功能”。我还没能找到彻底关闭此功能的方法。

相关内容