Das Beispiel von Simon hat bei mir nicht funktioniert, und ich vermute, es ist ein Sprachunterschied. In C# sieht mein Arbeitsformat-String so aus:
var linebreak = (i++ == list.Count) ? "" : "\r\n";
csv += String.Format("=\"{0}\",{1},{2},{3},=\"{4}\"{5}",
item.Value, item.Status, item.NewStatus, item.Carrier, c.Status, linebreak);
und so sieht die Ausgabedatei aus:
="abababababab",INVALID,INVALID,USPS,="",
="9500100030492359000149",UNKNOWNSTATUS,DELIVERED,USPS,="3"
="9500100030492359000149",UNKNOWNSTATUS,DELIVERED,USPS,="3"
="9500100030492359000149",UNKNOWNSTATUS,DELIVERED,USPS,="3"
="9500100030492359000149",UNKNOWNSTATUS,DELIVERED,USPS,="3"
="9400110200793482982812",UNKNOWNSTATUS,DELIVERED,USPS,="3"
="9400110200793482982812",UNKNOWNSTATUS,DELIVERED,USPS,="3"
="9400110200793000216184",UNKNOWNSTATUS,INVALID,USPS,=""
Wie Sie sehen können, ist das Format in der Ausgabedatei ="VALUE",
und nicht "=""VALUE""",
, was meiner Meinung nach eine Visual Basic-Konvention sein könnte.
Ich verwende Excel 2010. Übrigens: Google Sheets kann eine so formatierte Datei nicht öffnen/konvertieren. Es wird funktionieren, wenn Sie das Gleichheitszeichen entfernen, also "VALUE",
- Excel wird die Datei immer noch öffnen, aber die Tatsache ignorieren, dass Ihre Spalten Zeichenketten sein sollen.