Import CSV da frontend
Buonasera,
sono a chiedervi aiuto in quanto ho la necessità di importare, da front-end e solo per utenti autenticati, file CSV. Vorrei infatti permettere agli utenti di selezionare un file CSV che poi verrebbe processato, per poi inserire i valori rilevati delle celle (in numero e tipologia definiti) in una tabella. Nella tabella riporterei anche l'utente a cui appartiene ogni dato.
L'obiettivo finale è quello di visualizzare in un grafico i valori filtrati.
Ho tentato di verificare la presenza di due estensioni che mi permettano i gestire i CSV e di graficare valori di tabelle, ma ho trovato molto poco per il mio caso.
Vi chiedo gentilmente cosa mi consigliate di utilizzare in termini di moduli per ottenere questo risultato?
Grazie in anticipo
Daniele
Risposte
Ciao, personalmente utilizzo
Ciao, personalmente utilizzo molto https://www.drupal.org/project/feeds per il caricamento di dati (supporta vari formati, compreso CSV).
Una volta caricati per visualizzare i dati potresti usare una vista (views è nel core) e integrare eventualmente con un modulo come ad esempio https://www.drupal.org/project/charts per creare dei grafici.
CIao Maurizio, grazie della
CIao Maurizio,
grazie della pronta risposta. Nei prossimi giorni provo i moduli che mi hai suggerito in modo da porter condividere il feedback con la comunità.
Grazie
Daniele
Ciao Maurizio, è passato
Ciao Maurizio, è passato molto tempo dal mio post.
Ho provato a seguire le tue indicazioni per l'importazione di file CSV, sia con la ver. 9 che con l'attuale 11.
Non è stato sempice trovare una guida esaustiva sui Feeds, e francamene a oggi una che approfondisca tutti gli aspetti di questo componente non l'ho ancora scovata.
Attualmente riesco a importare dati ma con le seguenti limitazioni:
1) per ogni elemento importato (riga CSV) viene creato un Contenuto (Processor impostato su Nodo);
2) la visualizzazione degli elementi del Feed è tabellare ma riporta solo ID, Etichetta, GUID e URL dell'elemento. Gli altri campi disponibili sono rimandati all'apposita pagina.
Vorrei importare in una unica tabella dentro una pagina, non creando nuovi nodi.
Ho quindi provato a creare un nuovo tipo di Contenuto con un campo di tipo Table Field sperando di poterla popolare attraverso i meccanismi dei Feeds. Evidentemente c'è un problema nella mia comprensione dell'oggetto. Infatti nella fase di Mapping nel Feed che creo, non compare questo campo.
Utilizzando le Viste di Drupal, non trovo la possibilità di inserire un filtro che selezioni solo gli elementi dell'utente autenticato in quel momento, bensì mi viene chiesto di specificare l'utente a mano e non ricavato automaticamente.
Chiedo ai più esperti di me, ciò che vorrei ottenere è fattibile?...in caso positivo in che modo o dove sto sbagliando?
Grazie
Daniele
Ciao Daniele, se stai usando
Ciao Daniele,
se stai usando TableField e vuoi importare il CSV in una singola pagina potresti fare a meno di passare per Feeds, perché il modulo TableField ha già questa feature incorporata.
Non so se ti è sufficiente, il meccanismo è molto più semplice, ma vale la pena valutare questa opportunità.
Per l'eventuale necessità di convertire i dati in grafici, ho visto che c'è un modulo compatibile con TableField --> https://www.drupal.org/project/charts_field_formatter, integrazione che però non ho avuto modo di testare direttamente.