Copier coller a la Google Spreadsheet

Copier coller a la Google Spreadsheet - HTML/CSS - Programmation

Marsh Posté le 18-12-2007 à 10:58:59    

Bonjour,  
 
J'aimerais savoir si vous avez une idee de la facon comment realiser un clone de Google spreadsheet, l'application en ligne de Google qui ressemble a Excel et plus particulierement le copier coller a partir d'une feuille Excel a cette application en ligne...
 
Pour l'instant j'ai une table HTML rempli de textfields. Les calculs sont realises lorsque la valeur d'un textfield est modifie (onchange).
 
J'aimerais savoir comment faire pour que les donnees d'Excel, transferees par copier-coller, soient integrees dans la base de donnees MySQL ou seulement recuperees par n'importe quelle technique.   :whistle: Dans le cas ou ce n'est pas possible (ce qui m'etonnerai) ou trop complique(Ca peut etre :D ), je realiserai une fonction d'importation en PHP.  ;)
 
Merci pour vos reponses!  :jap:  

Reply

Marsh Posté le 18-12-2007 à 10:58:59   

Reply

Marsh Posté le 18-12-2007 à 20:02:14    

uen fois que tu as tes données dans tes champs, regarde du cote de ajax pour les enregistrer au fur et a mesure


---------------

Reply

Marsh Posté le 19-12-2007 à 09:51:18    

ok c'est ce j'ai commence a faire... :)
 
Je charge les pays en fonction  de l'entree dans la liste... la sauvegarde est en train d'etre implementee... enfin presque! La je suis dans les calculs auto de total lors de la modif d'un champ, etc. :D  
 
merci flo850! ;-)
 
T'as pas une idee de comment faire lorsque l'utilisateur copie avec Ctrl+c dans Excel il peut coller toutes les cellules dans une page web?  :whistle:


Message édité par And Garfunkel le 19-12-2007 à 09:52:54
Reply

Marsh Posté le 19-12-2007 à 09:58:04    

si je me souviens bien, quand on fait un Ctrl V sur une page web avec des données issues de excel, on a des tabulation '\t' entre chaque valeur et un retour a la ligne '\n'  entre chaque ligne
 
tu dois pouvoir parser tes données pour qu'elle remplissent les bonnes cases  
 
( genre quand des données arrivent dans un ecase, si elle contient \t , tu separe les donnée en plusieurs  cases )


---------------

Reply

Marsh Posté le 19-12-2007 à 10:07:53    

flo850 a écrit :

si je me souviens bien, quand on fait un Ctrl V sur une page web avec des données issues de excel, on a des tabulation '\t' entre chaque valeur et un retour a la ligne '\n'  entre chaque ligne


 
Serieux?  :ouch: Ouaaa ok super! merci pour le super conseil!  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  :jap:  
Je vais essayer ca bientot...  :p  
 
Pendant que tu es la, je peux te demander une autre question?  :D Bon allez, j'aimerais savoir si c'est possible si au lieu d'acceder un textfield suivant  sur le plan horizontal (en pressant tab), l'utilisateur puisse acceder au textfield suivant mais sur le plan vertical!
 
Merci, encore!  :jap:  

Reply

Marsh Posté le 19-12-2007 à 10:23:41    

tu peux peut etre le gérer avec onKeyPress ( ou onKeyDown , je me souviens jamais du nom)  
 
je susi un peu rouillé en js :sweat:
 
au fait,tu as regardé du coté des API js qui peuvent te simplifier la vie ( yahoo ui , prototype, dojo, ... ) ?  


---------------

Reply

Marsh Posté le 19-12-2007 à 11:02:30    

En fait je connais rien en js, je commence juste mais bon ca va ca ressemble pas mal au php et des trucs du genre :P
 
Je connais pas les API je vais voir sur Google pour avoir plus d'infos dessus... merci
 
ps: onkeydown et onkeypress et meme onkeyup existent :-)

Reply

Marsh Posté le 19-12-2007 à 11:05:06    

regarde du cote des api, prends le temps de comparer leurs fonctionnalité
 
ca te fera gagner bcp de temps sur la compatibilité entre les navigateur et quand tu en arrivera a faire les finitions ( effets, animations, .. )


---------------

Reply

Marsh Posté le 19-12-2007 à 11:52:07    

And Garfunkel a écrit :


 
Pendant que tu es la, je peux te demander une autre question?  :D Bon allez, j'aimerais savoir si c'est possible si au lieu d'acceder un textfield suivant  sur le plan horizontal (en pressant tab), l'utilisateur puisse acceder au textfield suivant mais sur le plan vertical!
 
Merci, encore!  :jap:  


 
Utilise l'attribut html 'tabindex'. Si cet attribut est vide, l'ordre des champs est celui dans lequel ils apparaissent dans le code HTML, mais en le changeant à une valeur numérique tu peux aussi changer l'ordre des tabulations selon l'ordre numérique de tabindex.

Reply

Marsh Posté le 19-12-2007 à 12:39:53    

ok j'ai compris... merci nargy!
 
hmm mais rien de plus simple?
 
Sinon ouaip j'essaierai ta solution!

Reply

Marsh Posté le 19-12-2007 à 12:39:53   

Reply

Marsh Posté le 20-12-2007 à 10:45:20    

Est ce que vous avez une idee pour aligner a droite les chiffres dans un textfield?
merci  :jap:  
 
Voila ce que j'ai fait:
(la longueur du textfield est de 8)

Code :
  1. var ldbf = db3.length;
  2. while (ldbf < 8){db3 = ' ' + db3;}
  3. document.getElementById(textname1).value = db3;


 
Le probleme c'est que le script ne fonctionne pas et firefox/firebug me demande de stopper ou de debuger le script?! :O
 
EDIT encore:
J'avais essayer avant align=right ca ne marchait pas  
 
 
et la je viens d'essayer: style="text-align: right" et ca marche nickel  [:and garfunkel]  
Je sais pas pourquoi je me complique la vie... un pti bout de CSS et hop!  :kaola: javascript!  :lol:


Message édité par And Garfunkel le 20-12-2007 à 10:58:42
Reply

Marsh Posté le 20-12-2007 à 10:54:36    

tu as essayé en jouant sur le style ? ( textfield.style.textAlign='right' )  


---------------

Reply

Marsh Posté le 20-12-2007 à 11:00:29    

OUa super rapide Flo850!
Merci, ca marche bien comme ca avec le pti bout de CSS donc je laisse tel quel!  ;)

Reply

Marsh Posté le 20-12-2007 à 11:02:52    

tu remarquera que la propriété CSS text-align s'est transformé en textAlign  ( c'est pas neutre )


---------------

Reply

Marsh Posté le 20-12-2007 à 11:07:12    

flo850 a écrit :

tu remarquera que la propriété CSS text-align s'est transformé en textAlign  ( c'est pas neutre )


que veux tu dire?

Reply

Marsh Posté le 20-12-2007 à 11:10:06    

quand les proprietés  css contiennent un  tiret ( text-align, background-image , .... ) et que tu souhaite les manipuler en js , tu ne peux pas faire  
textfield.style.text-align , js va te jeter
 
tu dois virer le '-' et metttre une majuscule  
textfield.style.textAlign


---------------

Reply

Marsh Posté le 20-12-2007 à 11:14:24    

Ah oui OK! d'accord oui! J'avais vu une comparaison des proprietes CSS et Javascript la derniere fois sur internet sous forme de tableau.
 
Mais la j'ai bien utilise CSS dans le input text. ;)
 
Merci, flo850!

Reply

Marsh Posté le 20-12-2007 à 16:41:22    

Heu..  :whistle:  j'ai une nouvelle question...  :D  
 
Je fais des calculs et le resultat est affiche dans un inputfield.
 
Le truc c'est que j'amerais que lorsque la valeur a l'interieur de  cet inputfield change, que je puisse lancer une fonction javascript.
 
j'ai essaye avec onchange mais cela ne fonctionne pas, une idee peut etre?  :whistle: Merci!  :jap:


Message édité par And Garfunkel le 20-12-2007 à 16:41:59
Reply

Marsh Posté le 20-12-2007 à 16:50:39    

tu ne peux pas greffer ta fonction appellée a celle qui affiche des valeurs dans le inputfield ?


---------------

Reply

Marsh Posté le 20-12-2007 à 17:01:51    

ouaip c'est ce que j'ai pense aussi apres avoir poste...
car j'ai essaye tous les onchange, onclick, onselect et ses amis et ca fonctionne pas! (bon apres j'ai chercher a quoi ca correspondait vraiment) :D

 

J'ai juste appele la fonction dans l'autre et ca marche nickel ;) Content!  :)

 

Merci encore :jap: Flo850!


Message édité par And Garfunkel le 20-12-2007 à 17:17:17
Reply

Marsh Posté le 20-12-2007 à 17:17:49    

de rien , je te présenterai la facture a la fin :sol:


---------------

Reply

Marsh Posté le 20-12-2007 à 17:22:27    

flo850 a écrit :

de rien , je te présenterai la facture a la fin :sol:


 
pas trop salee!    Je suis un mega super pauvre petit etudiant-stagiaire! :cry:  
 

Reply

Marsh Posté le 21-12-2007 à 11:02:30    

Salut Flo850,
 
Je pars en vacances aujourd'hui pour 2 semaines donc tu va pouvoir te reposer un peu... :)
 
Passe un bon Noel et une bonne annee! Et surement a l'annee prochaine! ;)

Reply

Marsh Posté le 14-01-2008 à 16:15:04    

Rebonjour tout le monde!!  :hello:  
Bonne annee tout ca!  :D  
 
J'ai une petite question: est ce que vous savez comment gerer l'evenement lorsque un textfield change de valeur grace a des calculs... et non pas lors d'une modif d'un utilisateur...
 
Merci ++  :jap:


Message édité par And Garfunkel le 14-01-2008 à 16:15:52
Reply

Marsh Posté le 29-06-2009 à 10:31:18    

Up, je recherche exactement la même chose (l'utilisateur copie une colonne depuis excel et la colle dans un formulaire html constitué de input text) !
 
Je pense qu'il va falloir passer par du JS, mais comment récupérer l'évènement coller (CTRL + V ou clic droit coller ?)


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 29-06-2009 à 11:01:07    

tu peux intercepter l'évenement coller, notamment avec prototype, par exemple:

 
Code :
  1. <html>
  2.   <head>
  3.     <title></title>
  4.     <script src="http://www.prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js" type="text/javascript"></script>
  5.    
  6.     <script type="text/javascript">     
  7.       function init(){
  8.            Event.observe('f1', 'paste', pasteCol);
  9.            Event.observe('f2', 'paste', pasteCol);
  10.            Event.observe('f3', 'paste', pasteCol);
  11.            Event.observe('f4', 'paste', pasteCol);
  12.            Event.observe('f5', 'paste', pasteCol);
  13.            function pasteCol(event) { 
  14.               alert('Action coller detectee');
  15.            }
  16.       }
  17.     </script>
  18.   </head>
  19.   <body onload="init()">
  20.     <input type="text" name="f1" id="f1" size="5" /><br />
  21.     <input type="text" name="f2" id="f2" size="5" /><br />
  22.     <input type="text" name="f3" id="f3" size="5" /><br />
  23.     <input type="text" name="f4" id="f4" size="5" /><br />
  24.     <input type="text" name="f5" id="f5" size="5" /><br />
  25.   </body>
  26. </html>


par contre comment gérer la suite je sais pas trop...


Message édité par pataluc le 29-06-2009 à 11:02:41
Reply

Marsh Posté le 29-06-2009 à 11:16:14    

Merci, ca va m'aider déjà (j'utilise prototype ;))

 

Je pense qu'il faut exploser le contenu de la chaine dans le presse papiers en cherchant des \n :)


Message édité par getget le 29-06-2009 à 11:16:53

---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le 29-06-2009 à 11:17:48    

ouep, et aussi annuler le coller normal avec event.stop().
 
;)

Reply

Marsh Posté le 29-06-2009 à 23:02:03    

J'ai un petit soucis avec la methode split :/

Code :
  1. function pasteCol(event)
  2. {
  3.  alert("collé" );
  4.  var notes=document.getElementById('note_0').value;
  5.  var tab= new RegExp('[\r\n]');
  6.  notes=notes.split(tab);
  7.  document.getElementById('note_0').value=notes[0];
  8.  document.getElementById('note_1').value=notes[1];
  9.  document.getElementById('note_2').value=notes[2];
  10. }


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed