2011-11-16 23 views
7

Esiste comunque un modo per esportare i dati JSON in CSV/Excel senza alcuna interazione con il lato server? Usare solo Javascript? o Flash? Attualmente sto usando ZeroClipboard per copiare il valore negli appunti, ma vorrei aprire direttamente il valore generato in Excel dal browser (FF, Chrome, IE, ecc ...).Esportare Javascript o Flash in CSV/Excel

Thx.

+1

vedere http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-not-through-server –

risposta

8

Molto più semplice, l'esportazione più pulita e semplice dalle tabelle a Excel è Jquery DataTables Table Tools plugin. È possibile ottenere una griglia che ordina, i filtri, gli ordini, e le pagine di dati, e con poche righe in più di codice e due piccoli file inclusi, si ottiene l'esportazione in Excel, PDF, CSV, a appunti e alla stampante .

Questo è tutto il codice che è richiesto:

$(document).ready(function() { 
    $('#example').dataTable({ 
     "sDom": 'T<"clear">lfrtip', 
     "oTableTools": { 
     "sSwfPath": "/swf/copy_cvs_xls_pdf.swf" 
     } 
    }); 
}); 

Così, veloce da installare, nessun limitazioni del browser, nessun linguaggio lato server richiesti, e soprattutto molto facile da capire. È una vittoria per tutti. L'unica cosa su cui ha dei limiti è la rigida formattazione delle colonne.

+0

C'è un modo per avere l'opzione aperta durante l'esportazione? strano ma posso solo salvare il documento excel – ic3

+0

È possibile ottenere l'esportazione di TableTools senza aggiungere alcuna delle caratteristiche DataTables? Voglio dire, ho già una tabella HTML con ordinamento e filtraggio e molto altro (usando altri metodi, non DataTable), ora avevo solo bisogno delle funzionalità di esportazione ... –

+0

Sto provando ad usare TableTools, ma voglio usare i miei pulsanti piuttosto che usare i pulsanti swf. È possibile? – Firnas

2

Non sembra esserci un modo infallibile per farlo lato client solo su tutti i browser e le dimensioni dei file. Tutte le soluzioni sembrano utilizzare uno dei seguenti:

  • Flash plugin (es: Downloadify): bug e non cellulare compatibile URL
  • dati: un supporto limitato e la dimensione restrizioni IE
  • HTML5: metodi di download non standardizzati attraverso i browser.

A seconda del tuo caso d'uso, potresti riuscire a scappare con uno dei precedenti. Ecco alcuni altri post su SO con maggiori dettagli.

Si noti che questa parte della risposta da Ramandeep Singh non è corretto:

Così, veloce da installare, nessun limitazioni del browser, non sul lato server lingua richiesta , e soprattutto molto facile da capire.

DataTables utilizza un plug-in Flash se si guarda il codice. Non funzionerà sui browser mobili (iOS, recenti dispositivi Android senza root, Windows 8 RT senza hack o processo di approvazione MSFT). Ecco un post dal loro sito: http://www.datatables.net/forums/discussion/7563/export-to-csvpdf-without-tabletools/p1

Problemi correlati