【发布时间】:2010-11-17 20:24:55
【问题描述】:
我编写了用于将数据导出到 csv 文件的 .net 代码。问题是其中一列的数据类似于 5-8-13
当我在 excel 中双击 .csv 文件时,此列将数据显示为 2013 年 5 月 8 日,即它被误解为不是我想要的日期列。导出时是否可以使用一些转义字符,以便在打开文件时列数据为 5-8-13
我曾尝试将此值放在双引号中,但这不起作用。
感谢任何帮助。谢谢
【问题讨论】:
我编写了用于将数据导出到 csv 文件的 .net 代码。问题是其中一列的数据类似于 5-8-13
当我在 excel 中双击 .csv 文件时,此列将数据显示为 2013 年 5 月 8 日,即它被误解为不是我想要的日期列。导出时是否可以使用一些转义字符,以便在打开文件时列数据为 5-8-13
我曾尝试将此值放在双引号中,但这不起作用。
感谢任何帮助。谢谢
【问题讨论】:
将单引号作为单元格中的第一个字符。然后它将被解释为文本。
【讨论】:
没有一种简单的方法可以控制 Excel 在打开 .csv 文件时应用的格式。
为了强制 Excel 保持您的数据格式,请按如下方式输入数据:
="5-8-13"
它将显示为 5-8-13,但单元格中的数据将存储为 ="5-8-13"
【讨论】:
如果您要导出的数据中没有嵌入引号,则 Robert Mearns 的答案有效。如果您在使用 CSV 时没有遇到任何其他问题,这可能是一个相当安全的假设。 (如果您需要保护数据中的文字逗号、引号或换行符,则会变得更加复杂。)
如果您渴望给最终用户留下深刻印象,可以使用一些包以编程方式生成本机 Excel 文档 (.xls)。我自己不使用.NET,所以我不知道.NET 是否有免费的。我将 xlwt 用于 Python(嗯……这大概适用于 IronPython),还有一些用于 Java、PHP 和 Perl。
【讨论】:
将“\t”添加到“5-8-13”
【讨论】: