简体   繁体   中英

Disallow Excel to auto format columns while opening a .csv file

Im exporting some data to a .csv file.

.csv file:

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

But if i open it in Excel, Excel will Format the Latitude and Longitude automaticly so it cannot be used for copy & paste.

在此处输入图片说明

Ignore the 0 at postal Code, i must get rid of the 1 . 000 at Latitude and Longitude

How can i prevent Excel from doing this?

It should be done in the .csv file and not in Excel.

The Export Code:

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());

EDIT: Im searching primarly for a solution of my Latitude and Longitude Problem.

Possibly a duplicate of Stop Excel from automatically converting certain text values to dates but if you want to generate an Excel file that looks exactly as you want when opened, do not use csv. Excel will always attempt to guess datatypes of csv columns by looking at the first (15 i think?) rows..

I use EPPlus to generate xlsx files from my apps, but there are many libraries you could use

Change its extension to txt and use the text import wizard. Then use that to tell excel how the columns should be treated (text, currency, date, etc). The text import wizard will start automatically when you open a .txt file

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM