2011-06-13 66 views
0

我正在从数据库导出数据到Excel。在打开csv文件后导出后,excel应用程序将自动处理excel中的值。将数据导出为CSV时出现问题

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

任何人都可以告诉我是否有任何解决方案来避免这种情况或在Excel中关闭此自动格式化。

谢谢。

+0

这是一个优秀问题。不是C#之一。你在完成移植工作方面做得很好。 可能会尝试将excel列格式化为字符串类型的tingy。我忘了究竟是什么类型 – Zenwalker 2011-06-13 10:46:21

+0

您可以打开Excel而无需点击csv文件。点击“数据/获取外部数据/从文本/选择CSV文件”。然后,您可以确保所有列的格式都是正确的(如有疑问,请使用“文本”)。 http://office.microsoft.com/en-us/excel-help/text-import-wizard-HP010102244.aspx – 2011-06-13 10:50:44

回答

2

最简单的方法就是简单地用引号括起来asdasd,"-A1177",11/03/1984在你的CSV文件中。您也可以将列的格式更改为“文本”。

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

+0

我试过了,它不适合我。 :( – Lamps 2011-06-13 11:08:40

+0

@Bhaskar:你必须写'=“ - A1177”'不要忘记'='或它不会工作 – InBetween 2011-06-13 11:17:43

+0

我试过这个工作,但双引号也可见。可见。 – Lamps 2011-06-13 11:48:40

0

插入'Excel任何式开始,它会被认为是string

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

您可以为每个字段做到这一点,但如果文本可能被误解为公式,那么它是唯一必需的。

1

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