0
我產生不同的CSV文件的頭,我的用戶可以看到的格式創建具有這並不讓C#中的CSV「損壞」用Excel
var output = new MemoryStream()
var writer = new StreamWriter(output, Encoding.UTF8);
//this function gets the row depending of the enumerator name in this format a;b;c;d
var header = ModelosCsv.GetCsvByEnum("HeadRowFileLoad");
writer.WriteLine(header);
writer.Flush();
output.Position = 0;
return File(output, "application/csv", "format.csv");
的代碼是否正確,但如果他們創建CSV用excel打開CSV並保存,excel會覆蓋所有的「;」爲三重空間。 如果我用記事本++編輯結果並放回「;」 excel不會再這樣做。
我已用Excel打開這兩個歸檔,並點擊「另存爲」,第一個(由C#新生成的)被設置爲默認爲「文本存檔」被設置爲CSV第二個(由記事本++編輯)。
我是否缺少代碼? 我怎麼能阻止excel搞亂我的檔案?
你在哪裏關閉內存流..?你爲什麼設置輸出位置..?沒有必要... – MethodMan
Excel不會破壞任何東西。你爲什麼不用EPPlus創建一個* real * Excel文件? –
至於Excel,它不知道代碼使用的字段,行,文本,小數點,分隔符的類型。當你在命令行中傳遞文件時,它也不會問。它將使用*用戶的*語言環境設置,特別是小數點,千位和*列表*分隔符來讀取未知文件。當您通過「插入數據」對話框打開CSV時,您將看到一個預覽,允許您在出現錯誤時編輯設置 –