Augmenter la limite de taille de l'importation de données de CSV dans Excel


12

J'ai une charge de données dans un fichier csv que j'importe dans Excel, la plupart sont bien, mais une de mes colonnes contient jusqu'à 1000 caractères de données. Malheureusement, Excel a pris sur lui de supposer que c'était plus de données que je n'en avais besoin et semble le couper court (à 255 caractères).

Comment puis-je augmenter cette limite et conserver toutes mes données?


Que voulez-vous dire par "Malheureusement, Excel a pris sur lui de supposer que c'est plus de données que je n'en ai besoin et semble les raccourcir." n'est-il pas affiché correctement? que se passe-t-il si vous mettez =LEN(A1)dans Excel où A! est la référence à votre texte?
Peter Albert

Il dit 255, et quand je regarde les données dans la zone de saisie de formule, il s'arrête tout à coup. Je peux afficher toutes les données en open office, mais dès que je colle pour exceller, cela semble se limiter à 255 caractères. La raison pour laquelle je n'utilise pas le bureau ouvert est parce que je peux les coller en tant que données ou faire une recherche dans cela.
SwiftD

Excel peut gérer des textes de plus de 255 caractères. Cependant, si la cellule est remplie par VBA, c'est un peu compliqué. Quelle est ta source? Comment l'obtenir dans Excel?
Peter Albert

J'ai une exportation csv depuis magento. Si j'ouvre dans OO, il a le texte intégral. Si j'ouvre dans Excel son raccourci. Est également raccourci lorsque je colle depuis OO pour exceller et je ne peux plus taper manuellement dans la cellule, il est simplement coupé au même point dès que je quitte la cellule.
SwiftD

Peut-être que quelque chose ne va pas avec le CSV? Pouvez-vous mettre à jour votre question et publier quelques lignes? De plus, les paramètres du délimiteur et du séparateur sur votre machine peuvent-ils commencer à agir?
Jan Doggen

Réponses:


13

Il y a un bug bizarre dans Excel. J'expliquerai ici comment l'éviter (pas le réparer, juste l'éviter), et peut-être qu'il sera bientôt corrigé par les programmeurs MS Office. Peut-être que cela a même été corrigé dans Excel 2013, je ne l'ai pas encore ouvert.

Voilà donc le problème.

La longueur maximale de la cellule de texte est 32767, et c'est OK.

La longueur maximale de la cellule numérique est 255, et c'est OK.

Mais si vous avez une cellule qui appelle l'analyseur de numéro, échoue puis appelle l'analyseur de texte, voici le gros gâchis.

Par exemple:

...,"This is a cell with 30,000 characters........",...

marchera.

Mais si vous mettez un petit moins au début, comme dans

...,"-This is a cell with 30,000 characters........",...

vous ne verrez que 255 premiers caractères de texte, car EXCEL pense que c'est un nombre négatif.

J'espère que cela aide.


3
C'est le bug le plus étrange et le plus stupide que j'aie jamais vu dans un logiciel commercial. Cela me rend littéralement fou comment diable pouvez-vous payer pour ce genre de merde.
astrojuanlu

Très bonne explication, merci. Malheureusement, je peux confirmer que - 3 ans plus tard - le bug est toujours présent dans Excel 2016 ...
BurninLeo

Eh bien, @BurninLeo, je peux vous dire que trois jours après ma réponse d'origine, j'ai fait un appel par chat au Centre des développeurs MS Office et leur ai donné un lien vers ce sujet super utilisateur.
khitron23

Le problème semble être résolu avec Excel 365 ProPlus version 1902.
Carsten Franke

1

J'ai rencontré ce problème avec un fichier csv qui avait de longs champs de texte qui commençaient parfois par un tiret. Il semble que l'importation d'Excel tente de traiter le champ en tant que nombre à cause du tiret, et l'importation de numéro le réduit à 255 caractères. En cas d'échec, il l'importe sous forme de texte, mais uniquement les 255 premiers caractères.

Pour éviter le problème, j'ai dû importer le csv au lieu de simplement l'ouvrir. Dans l'assistant d'importation, j'ai sélectionné la colonne qui rencontrait des problèmes et j'ai changé son type de Général à Texte. Ensuite, Excel n'essaiera même pas de l'analyser en tant que nombre, et j'obtiens la largeur de colonne complète.


0

Tout d'abord, merci à tous pour votre aide dans la résolution de ce problème. Il s'avère qu'Excel peut très bien accueillir plus de 255 caractères dans une cellule (probablement jusqu'à 32 767 comme mentionné précédemment si vous avez le bélier pour cela).

Alors pourquoi ça ne marche pas?

La réponse courte est que je ne suis pas sûr. La première fois que j'ai importé les données dans Excel, j'ai exporté en tant que CSV, puis ouvert dans Excel. Cela a coupé les colonnes (à 255). (le fichier csv contenait toutes les données lorsqu'il était visualisé via le bloc-notes mais pas lorsqu'il était à nouveau enregistré via Excel).

La colonne en question contenait des points-virgules, mais cela ne correspondait pas au point de coupure (toujours 255) et je n'utilisais pas; comme délimiteur.

Ma solution n'était pas de faire une exportation en tant que fichier xls. Cela a depuis été enregistré avec succès en tant que fichier csv avec les données complètes.

J'espère que cela aide quelqu'un même si je ne sais toujours pas exactement quel était le problème ici.


Une simple recherche sur Google génère de nombreux messages sur le forum de personnes qui ont le même problème; c'est probablement juste un bogue dans la routine d'importation Excel CSV.
Marcus Chan

0

Selon http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx , Excel 2010 ne prend en charge qu'une largeur de colonne de 255 caractères.

Edit: Est-ce le problème dont vous parlez, Webweaver? Est-ce que Format> Cellules> Wrap Text rend le reste des caractères visible?

Edit: Peu importe, cette réponse est quelque peu sans rapport avec le problème actuel (peut-être liée d'une manière ou d'une autre, mais elle ne répond pas à la question)


Non, c'est la LARGEUR DE LA COLONNE. Dans le même tableau, le «nombre total de caractères qu'une cellule peut contenir» est de 32 767 caractères.
Vicky

@Vicky, n'est-ce pas le problème que rencontre le demandeur? Ou ai-je mal interprété la question?
Marcus Chan

@nixda real? oui vraiment ennuyeux. Je ne peux pas croire qu'Excel ne puisse pas gérer plus de 255 caractères. Il y a moyen de le faire!
SwiftD

@Marcus Je ne comprends pas ce que cela signifie par largeur de colonne. Ce n'est pas seulement un problème d'affichage, les données ne sont pas là. Il est écourté. lorsque j'enregistre en tant que csv, les données ne sont pas là. quand je fais len (cellule) le résultat est 255.
SwiftD

@MarcusChan, le nombre de caractères doit être limité à 32767. L'utilisateur constate qu'il est limité à 255. Ce à quoi vous faisiez référence était la largeur de la colonne qui était liée à l'affichage de la colonne, ce qui n'est pas le problème de l'OP.
Vicky

0

En règle générale, il s'agit d'une ancienne limitation qui ne s'applique plus aux versions modernes d'Excel (2013 de toute façon). Cependant, si un classeur a été créé à l'origine dans une ancienne version, les objets de cellule qui ont été modifiés (c'est-à-dire ainsi instanciés avec des propriétés et des attributs particuliers) dans l'ancienne version conserveront, apparemment, la limitation de 255 caractères même lorsqu'ils sont ouverts dans des versions plus récentes d'Excel!

Une réparation:

  1. À l'aide d'une version moderne d'Excel, dans une cellule différente et inutilisée de la feuille de calcul, recréez la condition de formatage et / ou de plage fusionnée requise pour la cellule à problème.
  2. Assurez-vous qu'il est défini au format Général ou Texte.
  3. Coupez ou copiez et collez la nouvelle version recréée de la cellule (ou la plage fusionnée) et collez-la sur l'ancienne version incorrecte.
  4. Désormais, lors de la saisie de données dans la cellule, le problème ne devrait plus se manifester.

Comme WebweaverD l'a posté par la suite, il a trouvé une solution à son problème d'importation csv. De plus, si les cellules sont remplies via VBA, la situation devient plus complexe, comme mentionné par d'autres réponses. Mais si les données sont entrées manuellement ou copiées / collées à partir d'une autre application dans un classeur hérité, le problème peut être dû à ce problème d'attribut de cellule hérité.


0

J'ai eu un problème similaire, toutes mes valeurs étaient au format (pour pouvoir convertir des nombres en nombres, du texte en texte, mais il a été coupé de longs textes:

...,="Long Text........",...

si vous mettez un = au début, vous ne verrez que 255 premiers caractères de texte, car EXCEL pense que c'est un nombre, alors supprimez = au début.

J'espère que cela aide.


1
Est-ce différent de ce que quelqu'un d'autre a déjà mentionné dans une réponse? Il faudra peut - être drapeau ged et vous pouvez demander à un modérateur de se convertir à un commentaire puisque vous n'avez pas assez représentant pour faire vous - même.
Pimp Juice IT

0

Solutions de contournement (disponibles dans Excel 2016) ...

Option A. Obtenez Excel pour exécuter l'assistant d'importation de texte (en utilisant quelque chose comme une extension de fichier .txt ou utilisez l'extension .xls, acceptez l'avertissement, sélectionnez la première colonne et faites Data => 'Text to Columns'). Modifiez ensuite le type de colonne de Général à Texte vers la fin de l'Assistant.

Option B. Utilisez Get & Transform. Données => Nouvelle requête => Du fichier => Du CSV.


Pensez à ajouter une référence à cette réponse à l'appui de ce que vous déclarez.
Pimp Juice IT
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.