2010-10-14 3 views
2

J'ai une application Flex avec un couple de DataGrids avec des données. Je voudrais enregistrer les données dans un fichier afin que l'utilisateur puisse continuer à travailler avec eux dans Excel, OpenOffice ou Numbers.Flex: écriture de données dans un fichier à ouvrir dans Excel

J'écris actuellement un fichier csv tout de suite, qui s'ouvre bien dans OpenOffice ou Numbers, mais pas dans Excel. Le problème est avec les caractères suédois ÅÄÖ, qui apparaissent comme d'autres caractères lors de l'ouverture dans Excel. La conversion (dans Notepad ++) du fichier csv en encodage ANSI fait apparaître correctement le fichier ÅÄÖ dans Excel.

Existe-t-il un moyen d'écrire des fichiers codés ANSI directement à partir de Flex?

Toutes les autres options pour écrire un fichier qui peut être ouvert dans Excel et OpenOffice?

(je l'ai regardé à la bibliothèque de as3xls, mais selon les commentaires ces fichiers ne peuvent pas être ouverts dans OpenOffice)

+0

Pouvez-vous effectuer la conversion du côté serveur, par opposition au côté client? – JeffryHouser

+0

Non, désolé, l'application n'a pas de connexion Web et est purement une application de bureau. – Lizzan

Répondre

1

Utilisation de la fonction writeMultiByte de la classe ByteArray vous permet de spécifier un jeu de caractères. Voir:

http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/utils/ByteArray.html#writeMultiByte%28%29

+0

Merci, cela l'a fait fonctionner dans Excel et OpenOffice (où l'encodage peut être réglé). Maintenant, les numéros ont été mélangés, mais c'est un cas de bord que je peux supporter plus tard avec un interrupteur si nécessaire. – Lizzan