6
votes

Exporter vers Excel à JQuery ou JQGRID

J'ai un JQGRID où je reçois des données à la fois à partir du serveur (Java) dans Format JSON. Je veux que les données de la JQGrid soient exportées au format Excel.

jusqu'à présent, j'ai vu cela page qui me donne une erreur dans IE 'o.url est null ou non un objet' grid.import.js

aussi j'ai vu cette démo où sur la pointe de l'outil du bouton d'exportation, il indique Exporter vers Excel mais le fichier enregistré est au format XML.

Je voudrais donc que toutes les suggestions puissent transformer mon chaîne JSON en Excel à l'aide de la fonction JavaScript ou JQRY. / p>

mon jQgrid

Entrez la description de l'image ici < p> mon code JQGRID xxx

partie de mon json xxx


1 commentaires

4 Réponses :


6
votes

Vous n'êtes pas obligé d'exporter un fichier à l'aide du format Excel afin d'obtenir les données dans Excel. Il est généralement beaucoup plus facile d'exporter vers csv . CSV Les fichiers doivent être associés à Excel par défaut, il devrait donc disposer de l'icône Excel par elle et tout. XML fonctionnerait de la même manière, je pense, mais le format csv est beaucoup plus léger et fait le même travail dans ce cas. Conversion JSON à CSV est simple: xxx


5 commentaires

Que se passe-t-il après avoir csv Comment puis-je le mettre dans le fichier?


Ce n'est pas possible de faire du client. Vous auriez besoin de faire un script de serveur pour le faire. Qu'est-ce que vous utilisez sur le serveur?


Ah. Malheureusement, je ne connais pas assez bien Java pour donner une réponse quickie sur la manière de rendre le CSV dans un fichier. Cette fonction JavaScript devrait vous donner le contenu d'un fichier CSV sous forme de chaîne, que vous pouvez ensuite envoyer à votre code côté serveur pour créer un fichier sur le serveur.


Commentaire tardif, mais je ne suis pas entièrement d'accord avec votre remarque tout aussi précieux . Avec CSV, vous devez faire attention aux paramètres régionaux en raison de formats décimaux et de date. Avec Excel, il est possible de travailler de manière sécurisée de type.


@Gernold vrai. Supprimé la réclamation "tout aussi précieuse" ci-dessus.



-2
votes

Je travaille avec MOSS 2007 pour exporter certaines listes (selon 5 listes) sur Excel.My exigence est que j'ai besoin de plus d'une liste à exporter vers Excel.Je ont ajouté une CSEWP dans ma page avec un bouton de sorte que en un clic, je peux exporter plus d'une liste de données de liste sur Excel.nw Je reçois une erreur de temps d'exécution lorsque j'utilise jQuery Si ($ ('# webpartwpq3'). est (': visible')) ---> Erreur attendue de l'objet. Je ne trouve aucun identifiant de div à la trace. Les ANS liés à ce problème sont vraiment vraiment vraiment appréciés..my code est comme suit.
CODE>

<button type="button"
onclick=exportToExcel();>Click<br>
</button><br>
<script type="text/javascript"><br>
 function exportToExcel() <br>
{ <br>
alert('Hi');<br>
//alert($("#WebPartWPQ3").attr("visibility"));<br>
if( $('#WebPartWPQ3').is(':visible') )<br>
{ <br>
 contentType = "application/vnd.ms-excel";<br>
var oExcel = new ActiveXObject("Excel.Application");<br>
var oBook = oExcel.Workbooks.Add;<br>
var oSheet = oBook.Worksheets(1);<br>

var VESSApplications =document.getElementById<br>('ctl00_m_g_e3f5d791_5651_40ca_a03a_1c511c7f2b28_ctl00_ctl00_toolBarTbl');<br>
  alert(document.getElementById('WebPartWPQ3'));<br>
var OtherApplications =document.getElementById('tblOtherApplications');<br>
 //   var MFGApplications =document.getElementById('tblMFGApplications');<br>
var row=3;<br>
var col=1;<br>

//Define criteria - start<br>
oSheet.Cells(row, col)="Business Function";<br>
oSheet.Cells(row, col+1)="VESS";<br>
oSheet.Cells(row, col+2)=selectedVESSBusinessFunction;<br>
 //  oSheet.Cells(row, col+3)="Manufacturing";<br>
 //  if(selectedMFGBusinessFunction != "-Select-")<br>
 //  oSheet.Cells(row, col+4)=selectedMFGBusinessFunction;<br>
row +=2;<br>

oSheet.Cells(row, col)="Operating System";<br>
oSheet.Cells(row, col+1)="First Choice";<br>
    if(selectedOperatingSystemFirstChoice != "-Select-")<br>

 oSheet.Cells(row, col+2)=selectedOperatingSystemFirstChoice;<br>


oSheet.Cells(row, col+3)="Second Choice";<br>

if(selectedOperatingSystemSecondChoice != "-Select-")<br>

oSheet.Cells(row, col+4)=selectedOperatingSystemSecondChoice;<br>

row +=2;<br>
oSheet.Cells(row, col)="Platform";<br>
oSheet.Cells(row, col+1)="First Choice";<br>
oSheet.Cells(row, col+2)=selectedPlatformFirstChoice;<br>
oSheet.Cells(row, col+3)="Second Choice";<br>

if(selectedPlatformSecondChoice != "-Select-")<br>

oSheet.Cells(row, col+4)=selectedPlatformSecondChoice;<br>
row +=2;<br>
oSheet.Cells(row, col)="Delivery Method";<br>
oSheet.Cells(row, col+1)="First Choice";<br>
oSheet.Cells(row, col+2)=selectedDeliveryFirstChoice;<br>
oSheet.Cells(row, col+3)="Second Choice";<br>

 if(selectedDeliverySecondChoice != "-Select-")<br>

oSheet.Cells(row, col+4)=selectedDeliverySecondChoice;<br>
row +=2;<br>
//alert(VESSApplications.rows.length);<br>
if(VESSApplications.rows.length>0)<br>
{<br>
 for (var y = 0; y < VESSApplications.rows.length; y++) <br>
 {<br>
     for (var x = 0; x < VESSApplications .rows(y).cells.length; x++) <br>
     {<br>
   //          oSheet.Cells(y + 1, x + 1) = VESSApplications .rows(y).cells(x).innerText;<br>
         oSheet.Cells(row, x + 1) = VESSApplications .rows(y).cells(x).innerText;<br>

     }<br>
             row++;<br>

 }<br>
 //   oExcel.Visible = true;<br>
  // oExcel.UserControl = true;<br>
}<br>

else<br>
{<br>
alert("There is no VESS/Other Applications to Export!");<br>
}<br>
row +=2;<br>

//Other Applications<br>

 /*     for (var y = 0; y < OtherApplications.rows.length; y++) <br>
 {<br>
     for (var x = 0; x < OtherApplications.rows(y).cells.length; x++) <br>
     {<br>
         oSheet.Cells(row, x + 1) = OtherApplications.rows(y).cells(x).innerText;<br>

     }<br>
             row++;<br>

 }<br>


   row +=2;<br>


//MFG Applications<br>

 for (var y = 0; y < MFGApplications.rows.length; y++) <br>
 {<br>
     for (var x = 0; x < MFGApplications.rows(y).cells.length; x++) <br>
     {<br>
   //          oSheet.Cells(y + 1, x + 1) = VESSApplications .rows(y).cells(x).innerText;<br>
         oSheet.Cells(row, x + 1) = MFGApplications.rows(y).cells(x).innerText;<br>

     }<br>
             row++;<br>

 }<br>

 */  
oSheet.columns.autofit;<br>


 oExcel.Visible = true;<br>
 oExcel.UserControl = true;<br>
}<br>
else<br>
{<br>
 alert('No VESS/Other applications available to export');<br>
}<br>
}<br>


0 commentaires