【问题标题】:Format a column to text format in CSV file using C#使用 C# 将列格式化为 CSV 文件中的文本格式
【发布时间】:2015-08-19 18:45:42
【问题描述】:

我有一个应用程序,我在该应用程序上将数据从数据网格导出到 csv 文件。我通过以下步骤做到这一点:

  1. 创建一个文件:

    var myFile = File.Create("test.csv"); 我的文件.Close();

  2. 将数据写入字符串生成器(数据)

  3. 将数据写入创建的文件。

    File.WriteAllText(文件路径,数据);

这很好用。生成的 csv 文件在 excel 中打开。我有一列可能前面有零的数字,当这些数据导出到 csv 文件时,前面的 0 会丢失。是否可以将该列格式化为文本列,这样零就不会丢失。

【问题讨论】:

  • 您可以尝试的一件事是保存为文本文件,然后重命名为 .csv
  • 您的代码不应修剪前导零。您是否有机会在 Excel 中打开生成的 .csv 文件? Excel 倾向于这样做。
  • 是的,生成的 csv 文件在 Excel 中打开并使用

标签: c# csv


【解决方案1】:

在记事本中查看您的文件。前导零在那里,完好无损:-)

您需要在打开文件时告诉 Excel 使用哪种格式。将文件更改为 .txt 并使用文件 -> 在 Excel 中打开,您应该会看到一个导入向导。在那里,您可以明确告诉 Excel 将您的列视为“文本”,这将防止它去除前导零。

更多信息在这里:http://www.howtogeek.com/howto/microsoft-office/how-to-import-a-csv-file-containing-a-column-with-a-leading-0-into-excel/

【讨论】:

  • 有没有办法在 C# 中自动执行此操作,用户会认为这是额外的工作,并希望这可以自行完成。
  • 请记住,您的文件并不是真正的问题,Excel 是 :-) 但是,我相信如果您在前导零前加上单引号字符,Excel 将不再去除前导零.
  • 是的,我想到了。但话又说回来,用户需要删除引号。我找不到任何其他解决方案,因此这篇文章:)
  • 不,就是这样。 Excel 不会显示单引号 :-) 试试看!
  • 我试过了,excel用引号显示数字。我做了 data.Append("'").Append(000123).Append("'");
猜你喜欢
  • 1970-01-01
  • 2012-11-02
  • 2017-11-06
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
  • 2018-07-10
相关资源
最近更新 更多