不允许Excel在打开.csv文件时自动格式化列

我将一些数据导出到.csv文件。

.csv文件:

Hotel Name;Street;Postal Code;City;Latitude;Longitude Hotel X;Street 1;00000;City X;15.000000;15.000000 

但是,如果我在Excel中打开它,Excel将自动格式化纬度和经度,所以它不能用于复制和粘贴。

在这里输入图像说明

在邮政编码忽略0,我必须摆脱1 . 在经纬度为000

我怎样才能防止Excel做到这一点?

它应该在.csv文件中完成,而不是在Excel中完成。

出口代码:

 foreach(...) { StringBuilder_Export.Append(DataRow_Temp[i] + ";"); } StreamWriter StreamWriter_Export = new StreamWriter( SaveFileDialog_Geo_Export.FileName, true, Encoding.Default ); StreamWriter_Export.WriteLine(StringBuilder_Export.ToString()); 

编辑:我主要寻找我的经度和纬度问题的解决scheme。

Stop Excel可能会自动将某些文本值转换为date,但是如果要在打开时生成完全按照您的要求显示的Excel文件,请不要使用csv。 Excel会一直试图通过查看第一个(15我认为?)行来猜测csv列的数据types。

我使用EPPlus从我的应用程序生成xlsx文件,但有许多库可以使用

将其扩展名更改为txt并使用文本导入向导。 然后用它来告诉excel如何处理这些列(文本,货币,date等)。 文本导入向导将在您打开.txt文件时自动启动