当我将 .csv 或 .txt 文件导入 Excel 时,文本格式的日期,即“Nov-24”(2021)(文件中有双引号,2021 没有)将转换为日期格式,并添加当前年份,即 11/24/2022 并显示为 24-Nov。完成后尝试按日期排序!
看来 Excel 忽略了文本日期字段上的双引号。文本限定符:字段设置为“。如何将我的文本日期导入为文本?除了双引号之外,.csv 文件中还需要包含什么,以便 Excel 知道将文本日期保留为文本格式?
CSV 文件是使用 JavaScript 创建的。
答案1
使用文件处理对话框,而不是简单地在 Excel 中打开 .csv/.txt 文件。
使用标准文件选择器选择文件后,对话框通过“数据菜单”>“获取和转换数据”组>“获取数据”按钮>“从文件”选项>“从文本/CSV”子选项显示。文件处理对话框应允许按原样导入字段。这可防止导入例程应用其“智能”(决策规则)并“决定”文件中的内容如何转换为工作表中的值。
以下测试文件
被选中进行导入,选择文件后,文件处理对话框显示为
请注意,该对话框实际上表明 .txt 文件中的“Nov-24”将被导入为日期 01/11/2024(或根据 mm/dd/yyyy 约定为 11/01/2024)。
但是,通过选择“不检测数据类型”,在标有“数据类型检测”的控件中可以阻止这种情况。
导入的数据如下所示
从单元格中的公式可以看出,单元格中显示的E2
值不是数字(因此也不是日期),只是一个文本字符串(尽管它丢失了.txt文件中的双引号)。Nov-24
A2
事实上,当选择“不检测数据类型”时,所有导入的值都被视为文本字符串,包括数字 12、87.2、25 和 42.1。
以上操作是使用 Office 365 进行的。早期版本的 Excel 具有完全不同的文件导入对话框版本,如果记忆不错的话,允许在列级别进行更多控制(因此只允许将某些列导入为文本字符串)。