Poser votre question
0

Transfert feuille Calc vers table Base. Problème des CR LF. [fermée]

posée 2020-02-14 14:19:07 +0100

Bonjour,

Je transfère par copier coller une feuille Calc dans une table Base.

L'un des champs de la feuille Calc est de type CHAR et contient des fin de ligne au format CRLF.

A l'arrivée la table Base ne contient plus ces fin de ligne.

C'est exactement pendant la copie de Calc vers Base que les CRLF sont effacés. (effacés et non masqués !)

Or une table Base ne permet pas de régler les propriétés Multiligne et Fin de ligne CRLF ...

Je ne vois pas de solution et pourtant on peut garder les CRLF selon ask.libreoffice anglais ...

Si quelqu'un a une solution ...

éditer requalifier signaler réouvrir fusionner supprimer

Fermé pour la raison suivante la question est résolue, une bonne réponse a été acceptée par passant13
date de clôture 2020-02-15 22:33:25.665896

1Réponse

0

répondue 2020-02-14 17:48:51 +0100

Image Gravatar de pierre-yves samyn

Bonjour

Je reproduis le problème lorsque les retours à la ligne sont entrés dans les cellules avec Ctrl+Entrée.

En revanche, le retour à la ligne provoqué par le FormatageRenvoi à la ligne automatique est contre-intuitivement préservé lors du copier-coller vers Base...

J'ai trouvé un contournement mais il est assez lourd :

  • enregistrement des données du classeur au format csv
  • création d'une table "liée" (attachée) au format texte dans la base Hsqldb
  • définition du csv comme source de la table

Il est ensuite possible de copier les données de la table attachée dans la table "normale" dans laquelle on a défini le champ comme LONGVARCHAR et les CRLF sont préservés. On peut ensuite supprimer la table "texte".

J'ai décrit la gestion des tables "texte" attachées dans cette FAQ.

La création d'un champ LONGVARCHAR se fait comme ceci :

CREATE TEXT TABLE  "TableCRLF" ("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY, "Texte" LONGVARCHAR)

Cordialement

éditer signaler supprimer permalien plus

Commentaires

D'abord merci !

J'ai suivi les instructions et après à peine une dizaine d'essais je suis arrivé à transférer mes données en conservant les codes CRLF. Récapitulatif:

enregistrer les données au format .csv (sans la ligne des noms de colonnes sinon ca plante)
créer la table liée au fichier .csv en passant par Outils/SQL avec CREATE ...
créer une table Base de même format que la table liée
copier la table liée et la coller dans la table crée

Donc ca marche.

Il y a juste un léger problème: ma table provient d'Access et je l'exporte en csv au format utf-8.

Or à l'arrivée dans la table Base les données contiennent bien CRLF mais les accents sont remplacés par des doubles graphiques, ce qui semble indiquer que j'ai perdu utf-8 en route !

Je crains de devoir abuser, mais est ce que je pourrais avoir ...(more)

Image Gravatar de passant13passant13 ( 2020-02-15 01:02:40 +0100 )éditer

Outils de question

1 suiveurs

Stats

Posée: 2020-02-14 14:19:07 +0100

Consultée: 14 fois

Mise à jour: Feb 14