Excel CSV-数字单元格格式

Excel CSV-数字单元格格式,excel,csv,formatting,number-formatting,Excel,Csv,Formatting,Number Formatting,我以CSV文件的形式生成报告。 当我尝试在Excel中打开文件时,它会根据单元格的内容假设数据类型,并相应地重新格式化 例如,如果CSV文件包含 ...,005,... 然后Excel将其显示为5。 是否有方法覆盖此选项并显示005 我更愿意对文件本身做些什么,这样用户就可以双击CSV文件来打开它 我使用Excel 2003。您只需将范围格式化为文本即可 这也是一篇关于数字格式以及如何编程的好文章。我相信当您导入文件时,您可以选择列类型。将其设置为文本而不是数字。目前我面前没有要检查的副本。打

我以CSV文件的形式生成报告。 当我尝试在Excel中打开文件时,它会根据单元格的内容假设数据类型,并相应地重新格式化

例如,如果CSV文件包含

...,005,...
然后Excel将其显示为5。 是否有方法覆盖此选项并显示005

我更愿意对文件本身做些什么,这样用户就可以双击CSV文件来打开它


我使用Excel 2003。

您只需将范围格式化为文本即可


这也是一篇关于数字格式以及如何编程的好文章。

我相信当您导入文件时,您可以选择列类型。将其设置为文本而不是数字。目前我面前没有要检查的副本。

打开CSV时,您会看到文本导入向导。在向导的最后一步,您应该能够将特定列作为文本导入,从而保留“00”前缀。然后,您可以按照自己的方式格式化单元格


我尝试使用Excel 2007,但它似乎可以工作。

不要使用CSV,请使用SYLK。


它对格式提供了更多的控制,Excel不会试图通过检查内容来猜测字段的类型。它看起来有点复杂,但您可以使用一个非常小的子集。实际上,我发现,至少从Office 2003开始,您可以将Excel电子表格保存为XML文件。 因此,我可以生成一个XML文件,当我双击它时,它将在Excel中打开。
它提供与SYLK相同的控制级别,但XML语法更直观。

打开.csv文件时,没有一种简单的方法可以控制Excel应用的格式设置。然而,下面列出的三种方法可能会有所帮助

我的偏好是第一个选择

选项1–更改文件中的数据

您可以按如下方式更改.csv文件中的数据…,=“005”,。。。 这将在Excel中显示为…,005

Excel会将数据保留为公式,但复制列并使用“粘贴特殊值”将删除公式,但保留格式

选项2–格式化数据

如果它只是一个格式问题,并且该列中的所有数据都有三位数的长度。然后在Excel中打开数据,然后使用此自定义格式设置包含数据的列的格式000

选项3–将文件扩展名更改为.dif(数据交换格式)

更改文件扩展名并使用文件导入向导控制格式。 双击时,Excel会自动打开扩展名为.dif的文件

逐步:

  • 将文件扩展名从.csv更改为.dif
  • 双击该文件以在Excel中打开它
  • 将启动“文件导入向导”
  • 将“文件类型”设置为“分隔”,然后单击“下一步”按钮
  • 在“分隔符”下,勾选“逗号”,然后单击“下一步”按钮
  • 单击显示的数据的每一列,然后选择“列数据格式”。值为“005”的列应设置为“文本”格式
  • 单击finish按钮,Excel将以您指定的格式打开该文件

好吧,excel永远不会弹出CSV文件向导。如果将其重命名为.txt,下次在Excel中执行文件>打开操作时,将看到向导。

我问了同样的问题,然后用密码回答

基本上,当加载csv文件时,oledb驱动程序进行假设,您可以告诉它要进行哪些假设

我的代码强制所有数据类型使用字符串。。。更改模式非常容易。
出于我的目的,我使用xslt以我想要的方式获取ti—但我正在解析各种各样的文件。

在字段前面加上一个引号。Excel会将其视为文本,即使它看起来像一个数字

...,`005,...
编辑:这是错误的。撇号技巧仅在将数据直接输入Excel时有效。当您在CSV文件中使用它时,撇号会出现在字段中,这是您不需要的


我知道这是一个老问题,但我有一个解决方案,这里没有列出

生成csv时,请在逗号之后、值之前添加空格,例如
、005、


这可以防止excel 2007中自动设置日期格式。

当导入的CSV文件在单元格中有换行符时,文本导入向导方法不起作用。此方法处理此场景(至少使用制表符分隔的数据):

  • 创建新的Excel文件
  • Ctrl+A选择所有单元格
  • 在数字格式组合框中,选择文本
  • 在文本编辑器中打开制表符分隔的文件
  • 选择全部,复制并粘贴到Excel中

  • 这适用于Microsoft Office 2010 Excel 14版

    我误读了OP的偏好“对文件本身做点什么”。我仍然为那些希望直接格式化导入的解决方案的人保留这个选项

  • 打开一个空白(新)文件(文件->从工作簿新建)
  • 打开导入向导(数据->来自文本)
  • 选择.csv文件并导入
  • 在对话框中,选择“分隔”,然后单击下一步。
  • 选择您的分隔符(除“逗号”外,取消所有选项),选择文本限定符(可能为{None}),单击下一步
  • 在数据预览字段中,选择要显示文本的列。它应该突出显示。
  • 在列数据格式字段中,选择“文本”。
  • 单击“完成”。

  • 在单元格中添加一个不间断的空格可能会有所帮助。 例如:
    “firstvalue”;“第二价值”;"005 ";“其他值”

    它强制Excel将其视为文本,并且空间不可见。 在Windows上,您可以添加非br