2011-05-17 6 views
1

J'ai un site Web (PHP) qui génère un fichier CSV (texte/csv) avec le contenu suivant:OpenOffice Calc ne peut pas lire un simple fichier CSV. Pourquoi?

 
ID;E-Mail_User;Name;Applikation;Rolle;Auftragsdatum;Administrator 
522;[email protected];WXDUILAS;ABCD;XYZ;2009-03-04 05:00:09;[email protected] 

Lorsque je sélectionne OpenOffice pour afficher le fichier CSV seulement une feuille de calcul vide apparaît. Aucune erreur n'est affichée. Lorsque j'essaie d'ouvrir le fichier avec oocalc test.csv la même chose se produit. J'ai essayé différentes versions d'OpenOffice.

Quel est le problème avec le fichier? Comment puis-je recevoir un message d'erreur d'OpenOffice?

Mise à jour: Cela n'a rien à voir avec l'utilisation de points-virgules. J'ai réduit le fichier à 4 charaters. Un fichier avec le contenu ID;A ouvre la boîte de dialogue d'importation CSV. Mais un ID;E ouvre une feuille vide. Pourquoi? Le modèle id;E fonctionne également. ID;E doit être une sorte de code magique. Est-ce que quelqu'un sait le sens?

+1

Cela a à voir avec les points-virgules - un fichier contenant uniquement ID, E provoque l'ouverture de la boîte de dialogue d'importation. Comme Matt l'a dit, le CSV est séparé par des virgules, que cela vous plaise ou non. –

+0

La question est pourquoi 'ID; A' fonctionne et' ID; E 'ne fonctionne pas. – ceving

+0

Bug dans ooffice? Quoi qu'il en soit, la réponse est de générer un CSV approprié. –

Répondre

7

ID; dans les 3 premiers caractères d'un fichier est la signature pour un fichier SYLK. Le quatrième caractère peut être un P, N ou un E qui signale certaines informations sur la façon dont le reste du fichier doit être traité ... donc votre fichier "CSV" est presque certainement analysé comme un fichier SYLK lorsque cette signature initiale est lue , et le reste du fichier n'est pas un format SYLK valide.

+0

Excel présente le même comportement. https://support.microsoft.com/en-us/help/323626/-sylk-file-format-is-not-valid-error-message-when-you-open-file - "Un fichier SYLK est un texte fichier qui commence par "ID" ou "ID_xxxx", où xxxx est une chaîne de texte Le premier enregistrement d'un fichier SYLK est l'enregistrement ID_Number Lorsque Excel identifie ce texte au début d'un fichier texte, il interprète le fichier comme un Fichier SYLK. " - Même chnaging l'en-tête de la première colonne à 'id' résout le problème. – Vagari

1

CSV signifie C OMMA S eparated V aleurs, ce qui est pas ce que votre document contient.

Ce sont des points-virgules.

Si possible, modifiez le code PHP pour générer ce lieu (qui est effectivement CSV):

ID,E-Mail_User,Name,Applikation,Rolle,Auftragsdatum,Administrator 
522,[email protected],WXDUILAS,ABCD,XYZ,2009-03-04 05:00:09,[email protected] 

... ou spécifier ; comme séparateur en utilisant la boîte de dialogue Text Import.

+0

Avez-vous lu l'article? Surtout l'exemple du point-virgule? – ceving

+0

Vous pouvez également spécifier manuellement le délimiteur dans Calc. –

+0

cela ne semble pas possible, si le navigateur démarre oocalc. – ceving

0

Ajouter de l'espace après ID (c'est-à-dire "ID").

Pas la solution parfaite, mais a travaillé pour moi.

Questions connexes