Nombre maximum de caractères par cellule ?

Bonjour
Quand j’ouvre un export CSV (dont je pourrais vérifier la taille des champs)
Libre Office Calc (version 6.0.7.3 linux)
me dit “Les données n’ont pas pu être complètement chargées parce que le nombre maximum de caractères par cellule a été dépassé.”
Je me demande donc quelle est la taille maximale des cellules ?
Merci

Bonjour,
Le nombre maximal de caractères dans une cellule Calc de LibreOffice (version 6.3.5) est de 2^28-1 caractères (il était auparavant de 2^16-1 caractères) soit 268 435 455 caractères (l’équivalent de plus de 500 romans dans une seule cellule !)… donc le message que tu rencontres ne peut pas venir d’un débordement de capacité.
Remarque : j’ai testé cette limite avec la fonction REPT()… ce qui a mis mon tableur Calc et mon ordi au bord de l’asphyxie (8 Go de RAM).

Je soupçonne plutôt le filtre d’import UTF8 de ne pas reconnaître certains caractères accentués de ton CSV. Tu aurais intérêt à tester des convertisseurs en ligne( ex : convertio), en passant par un format intermédiaire (type xlsx), ou en utilisant un logiciel de manipulation de CSV (ex : CSVed), ou encore, pourquoi pas, développer une petite macro qui filtre correctement…
Cordialement,

En fait je ne sais comment les choses en sont arrivées là, mais dans mon export je récupère des données issues de champs textes de formulaires web en principe. Et des images ont été insérées (ou bien on a tenté de mettre des images).
J’avais des cellules de 4 mégas (en copiant/collant le contenu d’une seule celle dans un fichier texte) qui commençaient par :

data:image/png;base64,iVBORw0K…
et plein de caractères.

En copiant collant le contenu sur Convert Base64 to PNG - Online PNG Maker c’était bien des images (des backgrounds en dégradés) pas du tout du piratage. mais le résultat d’un raté de toute évidence.

Pour l’instant je pense à faire une macro twig ou bien un TwigFilter pour au moins ne plus exporter ça dans mes CSV car je n’ai pas de maîtrise sur l’import des données… (j’exporte d’une base MySql certes mais à travers une appli en PHP)

Et en passant, où est-ce que tu as trouvé que la taille maxi était de 2^28-1 ? je n’ai pas trouvé dans la doc ?
ça fait 256 Mégas si je compte bien ? Et alors ce serait le copier/coller sous Linux qui ne bufferise que 4 Méga ??

Merci pour tes réponses.

Salutations

Pour le maxi, j’ai mis la formule =REPT("1";2^28-1) qui retourne la chaîne (après plusieurs minutes et une saturation de ma mémoire vive). Avec la formule =REPT("1";2^28), j’ai l’erreur 513 (chaîne de caractère trop longue). Je n’ai pas trouvé la doc correspondante. J’ai trouvé cette valeur par tâtonnement en partant de la valeur que je connaissais, à savoir =REPT(“1”;2^16-1).
Auparavant on pouvait allouer une certaine quantité de mémoire (Outils > Options > LibreOffice > Mémoire) pour les objets (5.2 Mo par défaut) et pour LibO (20 Mo par défaut) mais cette option n’existe plus. Peut-être se trouve-t-elle dans la configuration avancée : Outils > Options > Avancé > Ouvrir la configuration avancée, ou alors la gestion est devenue dynamique, je ne sais pas.
Je te parle ici de ma version officielle LibO 6.3.5.2 sous Win7. La version des dépôts Linux est peut-être différente.
ça fait 256 Mégas si je compte bien … à 1 octet près.
Cordialement,

Bonjour @Pioulo

La suppression des options de l’interface date de la version 6.0. Elles ne concernaient que la gestion des images et objets OLE bien qu’on trouve souvent, et de manière erronée, le conseil d’augmenter ces valeurs pour les performances. Voir notamment fdo#110448.

Pour les limites, je me souviens d’une élévation pour les paragraphes intervenue en version 4.3 pour Writer ; peut-être le changement date-t-il de ce moment…

@fguerret comme le fait très justement remarquer @Pioulo, atteindre de telles limites dans une cellule va dégrader très fortement les performances mais outre cela, le contenu d’une cellule est difficilement “visualisable” (nécessaire d’éditer sur place ou d’étendre la barre de formule).

Cordialement