我将一些数据导出到.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());
编辑:我主要搜索我的纬度和经度问题的解决方案。
答案 0 :(得分:1)
可能是Stop Excel from automatically converting certain text values to dates的副本,但是如果要在打开时生成一个看起来完全符合要求的Excel文件,请不要使用csv。 Excel将始终通过查看第一行(15个我想?)行来尝试猜测csv列的数据类型。
我使用EPPlus从我的应用程序生成xlsx文件,但是你可以使用很多库
答案 1 :(得分:1)
将其扩展名更改为txt并使用文本导入向导。然后用它告诉excel应该如何处理列(文本,货币,日期等)。打开.txt文件时,文本导入向导将自动启动
答案 2 :(得分:0)
将文件另存为 .csv 时,请确保该文件为 UTF-8 格式
然后打开excel,浏览选择你想要的文件,它会自动运行提示器。
utf-8 和 excel 以外的任何其他格式都将尝试自动转换。