【问题标题】:Issue in exporting data to CSV将数据导出到 CSV 时出现问题
【发布时间】:2011-06-13 10:40:55
【问题描述】:

我正在将数据从数据库导出到 Excel。在打开 csv 文件时导出后,excel 应用程序正在自动格式化 excel 中的值。

我的一个单元格包含值 -A1177,但它被转换为零。

谁能告诉我是否有任何解决方案可以避免这种情况或在 excel 中关闭这种自动格式化。

谢谢。

【问题讨论】:

  • 这是一个 excel 问题。不是 c# 的。您在移植到 excel 方面做得很完美。可能会尝试将 excel 列格式化为字符串类型。我忘了具体是什么类型
  • 您无需单击 csv 文件即可打开 Excel。点击Data/Get External Data/From Text/Choose the csv-file。然后,您可以确保所有列的格式都正确(有疑问时text)。 office.microsoft.com/en-us/excel-help/…

标签: c# excel csv


【解决方案1】:

最简单的方法是简单地将值括在引号中,例如asdasd,"-A1177",11/03/1984 在您的 CSV 文件中。您还可以将列的格式更改为“文本”。

否则,看看这个优秀的Stack Overflow QuestionAnswer

【讨论】:

  • @Bhaskar:你必须写="-A1177"。不要忘记=,否则它将不起作用。
  • 我试过这个它有效,但双引号也可见。我不希望它太显眼。
【解决方案2】:

导入文本时更改列数据格式将其更改为文本

【讨论】:

    【解决方案3】:

    Excel 中任何公式的开头插入',它将被视为string

    因此,如果可能,请在生成 CSV 文件时检查给定字段中的第一个字符是否可以理解为 Excel 公式“开场白”(我不介意 {=, -, +})并在前面加上 '

    您可以为每个字段执行此操作,但仅当文本可能被误解为公式时才绝对必要。

    【讨论】:

      猜你喜欢
      • 2021-01-11
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      相关资源
      最近更新 更多