Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在打开前0并在Excel中另存为时将其保留在csv中_C#_Excel_Csv - Fatal编程技术网

C# 如何在打开前0并在Excel中另存为时将其保留在csv中

C# 如何在打开前0并在Excel中另存为时将其保留在csv中,c#,excel,csv,C#,Excel,Csv,我以“姓氏;生日;姓名”的格式创建了csv文件。其中生日格式为ddmmyyyy(例如01121989或09111983) 当我在Excel中打开它时,它没有显示第一个“0” 我可以转义此符号以在Excel中显示完整日期吗 当我使用“另存为”选项从Excel保存此文件时,它在生日时丢失了第一个“0”。有可能防止这种情况吗 谢谢。将日期单元格格式化为文本 右键单击“设置单元格格式”,在“类别”下选择“文本” 通常,当您在Excel中输入某个数字时,您会看到它向右对齐,如果您在文本格式的单元格中输入相

我以“姓氏;生日;姓名”的格式创建了csv文件。其中生日格式为ddmmyyyy(例如01121989或09111983)

当我在Excel中打开它时,它没有显示第一个“0”

  • 我可以转义此符号以在Excel中显示完整日期吗
  • 当我使用“另存为”选项从Excel保存此文件时,它在生日时丢失了第一个“0”。有可能防止这种情况吗
    谢谢。

    将日期单元格格式化为文本

    右键单击“设置单元格格式”,在“类别”下选择“文本”


    通常,当您在Excel中输入某个数字时,您会看到它向右对齐,如果您在文本格式的单元格中输入相同的数字,它将向左对齐,并且起始处的任何零都将保留。

    这是典型的Excel。你可以考虑使用单引号:

    A,'01121989',B
    

    如果您正在使用程序读取此文件,则可以轻松地清除这些单引号。

    打开文件后,右键单击列字母(例如,
    B
    ),然后选择
    格式化单元格
    。然后选择
    Custom
    ,并将格式设置为
    00000000
    。这会将前导的
    0
    添加到缺少它的所有单元格中,当您将其保存为
    .csv
    时,它也会在输出文件中导出前导的
    0

    而不是像通常使用数据连接那样打开csv

    为此,请转到功能区项目“数据”>“来自文本”


    浏览到您的CSV并选择“打开”。现在,您将获得一个文本到列窗口,您可以在其中将特定列属性设置为文本(因此不是常规或数字)。这样就可以使用完整的字符集。

    csv没有格式化功能。如果要保留格式,请另存为真实的.xls/xlsx文件。我需要以CSV格式保存
    01121989
    不是excel可以自动识别的日期格式。生成一个真实的.xls文件,并在其中设置所需的格式,或者将日期字段重置为excel可以识别为日期的内容。这是您的两个选项。仅csv。无法更改日期格式。打开文件后,将单元格格式设置为
    Text
    已太迟,因为零已丢失。导出数据时,我要考虑:
    当我使用“另存为”选项从Excel保存此文件时,它在生日时丢失了第一个“0”。有可能防止这种情况吗?
    很遗憾,它不符合要求。有。但当我去保存文件时,我将丢失日期中的第一个0。如果将列格式化为文本,则不应这样做。如果将其格式化为数字、日期或常规,则可能会丢失前导零。由于该列应保持文本格式,因此即使再次保存该列,格式也应保持不变。如果情况并非如此,请进一步说明您所做的工作和发生的情况。