2010-06-20 18 views
1

Je dois créer et exporter un fichier Excel dans mon application iPhone. Malheureusement, Excel ne le lira pas si le codage de ligne est LF (l'unix par défaut quand j'écris le fichier) au lieu de CRLF (le standard Windows) ... Y at-il moyen d'écrire un fichier en utilisant les sauts de ligne CRLF?Comment écrire un fichier avec des sauts de ligne CRLF dans Objective-C?

Je peux dire que c'est le problème comme si j'ouvre le fichier dans TextWrangler après l'avoir sorti, puis changer les sauts de ligne en CRLF, Excel ouvre bien.

Merci,

Toby

Répondre

4

Si vous utilisez printf ou fprintf en C vous résiliez généralement des lignes comme ceci:

printf("this is a line of text.\n"); 

Les \n sorties un saut de ligne. Vous pouvez produire un retour chariot avec \r, afin d'obtenir un CRLF, vous venez:

printf("this is a CRLF terminated line.\r\n"); 
+2

Désolé, je suppose que j'aurais inclus plus de détails, mais espérons toujours aussi simple de la solution. Je lis le fichier Excel dans un NSString, en remplaçant les valeurs par défaut, puis en le sortant. Le fichier source utilise des sauts de ligne CRLF, mais lorsque je le publie en utilisant [NSString writeToFile ...] il semble les remplacer par LF. J'ai essayé d'utiliser [NSString stringByReplacingOccurrencesOfString: @ "\ n" withString: @ "\ r \ n"] mais cela ne fonctionne pas. – Toby